首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

未定义的函数sqlsrv_connect()在cmd控制台中工作正常,但在Xampp中不能正常工作

未定义的函数sqlsrv_connect()在cmd控制台中工作正常,但在Xampp中不能正常工作的原因是缺少对应的PHP扩展模块。

sqlsrv_connect()函数是用于在PHP中连接Microsoft SQL Server数据库的函数,但它需要依赖于SQL Server的驱动程序。在cmd控制台中工作正常的原因可能是已经安装了相应的驱动程序或者在环境变量中配置了正确的路径。

而在Xampp中不能正常工作的原因可能是缺少了sqlsrv扩展模块。Xampp是一个集成了Apache、MySQL、PHP等工具的开发环境,它默认并不包含sqlsrv扩展模块。要解决这个问题,需要手动安装并配置sqlsrv扩展模块。

以下是解决该问题的步骤:

  1. 下载SQL Server驱动程序:根据你使用的PHP版本和操作系统,从Microsoft官方网站下载对应的SQL Server驱动程序。下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=20098
  2. 安装SQL Server驱动程序:运行下载的驱动程序安装包,按照提示完成安装过程。
  3. 配置PHP扩展:进入Xampp安装目录,找到php.ini文件(通常位于xampp\php\php.ini),用文本编辑器打开该文件。
  4. 启用sqlsrv扩展:在php.ini文件中找到以下两行(可能在不同的位置):

;extension=php_pdo_sqlsrv.dll

;extension=php_sqlsrv.dll

去掉前面的分号,将其修改为:

extension=php_pdo_sqlsrv.dll

extension=php_sqlsrv.dll

  1. 保存php.ini文件并重启Apache服务器:保存修改后的php.ini文件,并重启Xampp中的Apache服务器。
  2. 检查扩展是否加载成功:在PHP代码中使用phpinfo()函数查看phpinfo页面,确认sqlsrv扩展是否加载成功。

完成以上步骤后,应该可以在Xampp中正常使用sqlsrv_connect()函数连接Microsoft SQL Server数据库了。

推荐的腾讯云相关产品:腾讯云数据库SQL Server版(https://cloud.tencent.com/product/sqlserver)是腾讯云提供的托管式SQL Server数据库服务,可满足企业级应用的高可用、高性能需求。它提供了全球部署、自动备份、监控报警、数据迁移等功能,方便开发者快速搭建和管理SQL Server数据库环境。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Laravel框架下载,安装及路由操作图文详解

下载后解压到xampp htdocs文件(在这里我用xampp) ? 然后更改文件名为laravel ? 然后我们在网页输入 ?...这里我们要注意是,我把laravel解压到了一个名为PHPprimary文件夹里,你们如果是直接解压到htdocs里则只需127.0.0.1:8000后面输入/laravel/public,若正常显示图片里...目录二:bootstrap 这个目录主要是用来存放所有的第三方代码,包括框架函数源码(/vendor/laravel)、插件和扩展等。 ?...这里要注意是,post不能直接输出到页面上,否则会报错 多请求路由使用方法 1.match自定义获取方式 Route::match(['get','post'],'m',function(){...2.可选参数 //未定义时候 Route::get('user/{name?}',function($name = null){ return 'User-name-'.

4.6K51

4种Windows系统下Laravel框架开发环境安装及部署方法详解

1.准备工作 1.1PHP集成环境 这里我们使用XAMPPXAMPP是一个功能强大建站集成软件包,采用一键安装方式,包含PHP7.0、Mysql、Tomcat等。...1.3配置系统路径 要在控制台中使用composer命令,需要将Composer及PHP可执行文件(.exe/.bat)所在目录配置到系统环境变量Path。...PHP对应php.exeXAMPP安装目录找,Composer对应composer.bat文件所在目录默认为C:\ProgramData\ComposerSetup\bin。...安装完成后重新启动XAMPP (stop+start)。 一般情况下不需要配置,如果无法工作大概是两个原因(1)没有php扩展程序–xampp\php\ext\下面查看对应.dll文件。...(2)配置文件被注释是掉–xampp\php\下面的php配置文件取消对扩展注释 2、使用Composer安装Laravel 以上准备工作做好后,接下来正式开始安装新Laravel应用。

3.5K20
  • vueIE下无法正常工作,Promise未定义

    用vue写了一个日历组件,Firefox、Edge、Chrome以及360等浏览器极速模式运行一切正常,如图: 但在IE和360等浏览器兼容模式下却显示了模板,看起来像乱码一样,如图: 按F12...左思右想,突然灵光一闪,ES5函数声明不能为形参赋默认值,这种写法是ES6新增,而IE是不兼容ES6,那就把代码改一改,这里不再赋默认值,为了让方法可以正确执行而不报错,调用这个方法地方都强制传参就好了...`es6-promise`项目[github地址](https://github.com/stefanpenner/es6-promise) 现在,这个组件终于可以IE上正常展示了!...最后,我们项目是否需要兼容ES5需要您对您用户有一个较为明确认知,并不是所有项目都需要去做ES5兼容,毕竟因此会增加不少工作量。...VUE: 1 / 1 vueIE下无法正常工作,Promise未定义

    4.2K20

    如何正确合理使用 JavaScript asyncawait !

    : 在上述代码,getBooksByAuthorWithPromise 可能返回 promise(正常情况下)或 null 值(异常情况下),异常情况下,调用者不能调用 .then()。...复杂流程,直接使用 promise 可能更方便。 错误处理 promise,异步函数有两个可能返回值: resolved 和 rejected。...处理错误); 或者可以用 Error 对象将错误封装起来,如 throw new Error(error),当这个错误控制台中显示时,它将给出完整堆栈跟踪信息。...有时这可能是致命:如果 BookModel 被包含在一系列函数调用,其中一个调用者吞噬了错误,那么就很难找到这样一个未定义错误。 让函数返回两个值 另一种错误处理方法是受到Go语言启发。...但在某些情况下,这可能相当有用。 使用 .catch 这里介绍最后一种方法就是继续使用 .catch()。 回想一下 await 功能:它将等待 promise 完成它工作

    3.2K30

    VSCode配置PHP开发环境

    下载 XAMPP XAMPP 是一个易于安装 Apache 发行版,下载并安装好就行了。当然也可以用 phpstudy。...添加系统变量 和之前配置 GCC 一样,找到你安装 XAMPP 地址,然后添加到 PATH: ? 我这里是安装在了 E 盘,然后一路确定即可。...然后 cmd 输入 php -v 来查看你是否配置成功,正常情况如下: ?...,网上绝大多数教程已经失效(大部分是 xdebug2),用网上教程你会发现你怎么样也不能进行断点调试 VSCode 安装调试插件 直接搜索 PHP Debug 然后安装即可,然后点击 VSCode...断点调试 你需要在你 php 工程文件夹创建 launch.json 文件,将里面的 port 改为之前 php.ini 文件设置端口(我这里是 9001),然后打好断点, F5 开始调试,浏览器访问你目前

    5K20

    打造前端 Deepin Linux 工作环境——配置 XAMPP 集成环境

    打造前端 Deepin Linux 工作环境——配置 XAMPP 集成环境 虽然前后端分离开发我们,已经很少需要跑一个 apache+php+mysql 集成环境了。...我也是第一次下载安装 XAMPP ,以前 Arch linux 是用命令行安装,所以,我们来看一下帮助文档,点击下载页面右侧 linux常见问题 好,第一个就是告诉我们,如何来安装这个东东。...好,安装完成了。然后就出现了这样界面: ? 然后,我们浏览器输入 http://127.0.0.1 就可以看到效果了。 ? 好。.... ~/.bash_profile 使配置文件生效,然后我们运行以下我们简写命令,看能否正常运行: ?...如上图所示,我们简写命令是可以运行,嘿嘿,这样我们就可以用很短命令来运行环境,并且,不用管那个控制面板了。 这篇博文已经很长了,下一章我们再来讲更多配置。

    2.6K50

    SD NAND存储功能描述(8)专用命令CMD55 56

    (4)如果发送了一个未定义ACMD并且它是合法,则响应将清除APP_CMD位,表明接受命令被解释为正常CMD。(5)如果发送了已定义或未定义ACMD,且该ACMD是非法,则按非法命令处理。...下一个R1/R6响应中指示“非法命令错误”,主机应忽略响应APP_CMD状态。下一个命令作为普通命令处理。主机不能使用未定义acmd作为常规命令,即使规范中有定义。...在上述解释详细命令描述部分定义命令是“已定义”命令,而在该部分未定义命令是“未定义”命令。...(2)指挥系统:特定功能可以通过一组共享命令进行扩展和控制。(3)驾驶员强度UHS-I模式中选择合适输出驱动器强度取决于主机环境。...CMD6支持6个功能组,每个功能组支持16个分支(功能)。在给定功能组只能选择并激活一个功能。每个功能组函数0为默认函数(与Spec. 1.01兼容)。

    18010

    Ubuntu 64位系统xampp环境编译32位php扩展库

    Ubuntu 64位系统xampp环境编译32位php扩展库 由于项目需要,需要php调用c语言库,由于环境系统是64位,但是php却是32位,因此需要编译出32位库,本文之前文章Ubuntu...首先写一个php模块(php extension),php调用该模块内函数,再通过该模块来调用so函数。...Ubuntu12.04上无法通过编译,但在Ubuntu14.10上可以编译,CentOS下正常编译,见下图,但是不影响后面的使用 下面我们制作PHP模块。...由于基于xampp,所以php5-dev不装,直接使用/opt/lampp/bin目录下命令即可。 然后下载php源代码。我使用是php-5.2.3.tar.gz,解压缩。...> 然后浏览器打开hello.php文件,如果显示7,则说明函数调用成功了。 本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-03/114389.htm

    64120

    7个能提高你生产力隐藏Chrome DevTools功能

    低端设备上测试Web应用性能 一般而言,我们开发人员都是具有高速网络连接高端设备上工作。但不幸是,我们用户并不能一直使用高端设备和高速互联网连接。...你可以很容易地Chrome DevTools控制CPU能力和网络速度。这样,您可以测试您Web应用程序性能并根据其进行优化。...控制台中获取DOM节点引用 您是否曾经想过控制台中获取DOM节点引用以进行一些测试?您可以使用JavaScript来做到这一点。...您可以轻松地控制台中获取任何节点,你可以这样使用它: 右键单击要在屏幕上获得任何节点,菜单中选择 检查 以打开Chrome DevTools并选择元素。...右键单击元素面板节点,选择 Store as global variable ,之后,它将在控制台中全局变量可用。 ? 总结 Chrome DevTools功能强大。

    1.2K10

    10 种 JavaScript 最常见错误

    当你读取一个未定义对象属性或调用其方法时,这个错误会在 Chrome 中出现。 您可以很容易 Chrome 开发者控制台中进行测试。 ?...5、 TypeError: Object doesn’t support property 这是您在调用未定义方法时发生在 IE 错误。 您可以 IE 开发者控制台中进行测试。 ?...原因应该是清楚,即执行上下文不理解导致指向错误。 7、 Uncaught RangeError 当你调用一个不终止递归函数就会发生这种错误。您可以 Chrome 开发者控制台中进行测试。 ?...8、 TypeError: Cannot read property ‘length’ 这是因为读取未定义变量长度属性而发生错误。 您可以 Chrome 开发者控制台中进行测试。 ?...,它总是返回 undefined,我们不能获取或设置任何未定义属性。

    8.5K20

    移动web开发需要注意二十点

    iOS是不自动识别邮件地址但在Android平台,它会自动检测邮件地址,当用户touch到这个邮件地址时,Android会弹出一个框提示用户发送邮件,如果你不想Android自动识别页面邮件地址...我们可以利用一句简单javascript代码来实现这个效果 setTimeout(scrollTo,0,0,0); 请注意,这句代码必须放在window.onload里才能够正常工作,而且你的当前文档内容高度必须是高于窗口高度时...16、iOS如何获取滚动条值 桌面浏览器想要获取滚动条值是通过document.scrollTop和document.scrollLeft得到但在iOS你会发现这两个属性是未定义,为什么呢...因为iOS没有滚动条概念,Android通过这两个属性可以正常获取到滚动条值,那么iOS我们该如何获取滚动条值呢?...19、如何解决android平台中页面无法自适应 虽然你html和css都是完全自适应,但有一天如果你发现你页面android显示并不是自适应时候,首先请你确认你head标签是否包含以下

    1.9K20

    【Angular专题】——(2)【译】AngularForwardRef

    问题点在哪里 先做一个小声明,我们现在拥有一个AppComponent,并使用DI系统向其中注入了一个NameService,因为我们使用是Typescript,所以需要做工作就是构造函数参数声明变量...但是控制台上却无法得到报错信息,我猜想是因为调试Typescript代码时使用了source map。...从上面的示例不难看出,如果Javascript解释器对class声明也进行提升处理,就容易类继承时出现基类未定义错误。 三. class使用前必须声明吗?...小结 这个场景并不会经常出现,一般它只在当我们想要注入同一个文件声明类时才会发生,大多数情况下我们一个文件只会声明一个类,并且会在文件头部引入其他依赖类,以此来保证不会被class不进行变量提升特性造成困扰...五.补充 以下内容摘录自Angular中文网: Typescript里面,类声明顺序很重要,如果一个类尚未定义,就不能引用它。 这通常都没有问题,特别是遵循一个文件一个类规则时候。

    3.2K20

    XAMPP最详细安装及使用教程(图文)

    3、配置Apache 把httpd.conf80端口全部修改为8081,如果不修改,会与默认80端口产生冲突,严重时可能导致浏览器不能正常使用。...点击XAMPP控制面板上start按钮,启动Apache服务器、MySQL服务器,Apache默认网站目录为..\xampp/htdocs。...按照默认安装结果,MySQL没有密码,需要设置密码,可以xampp启动apache和mysql后,为mysql设置密码。...2、建立虚拟目录 打开xampphttpd-xampp.conf文件建立虚拟目录 经过上述配置后 xampp 基本配置已经完成了,请记住您站点根目录为 xampp 目录下 htdocs...\xampp\htdocs\new 路径下,您就可以浏览器地址栏输入 http://localhost/new/test.php 来访问这个文件。

    8.2K61

    EasyCVR使用RTMP推流时不显示界面如何解决?

    功能上,可实现视频转码、直播、录像、回看、云存储、级联等能力,在线下场景中有着广泛应用,如智慧工地、智慧校园、智慧社区、智慧楼宇等。...有用户反馈现场使用RTMP协议进行推流时不能正常显示设备画面,为提高客户使用体验感,优化平台功能,工作人员立即开展协助排查。...首先在平台中新建推流通道,获取到推流地址后将地址配置设备RTMP推流至界面,一般情况下如此处理即可看到设备视频。然而现场部署完成后发现并没有视频推流到平台中,画面仍然显示白屏页面。...通过排查发现现场使用为公网地址,但在配置中心没有配置公网ip,导致使用推流过程设备一直是往内网ip进行推流,所以平台一直没有接收到视频流。需要在配置中心进行更改。...所有更改完成后进行测试,视频即可正常播放。随着AI智能分析技术广泛应用,我们也积极研发了相关技术与视频平台融合。

    60230

    初学Java Web(2)——搭建Java Web开发环境

    bin 目录 startup.bat 文件,双击运行,如果输出启动信息,并未输出任何异常,则 Tomcat 安装正确(注意,弹出命令提示符窗口不能关闭,否则服务器将停止运行!)...所谓根目录是指 D:\xampp\目录下不能再嵌套 xampp 目录,而是直接在 D:\xampp\目录下能够找到 mysql 目录。切记!!)... User 处填写:root(这是 MySql 登录用户名)。 Password 处填写:root(这是 MySql 登录密码。 注意:如果是自己下载 xampp 工具,则密码为空。...② 首次打开设置工作空间 由于我们已经配置好了 JDK 相关信息,所以这里 Eclipse 可以直接打开: 指定工作空间 工作空间大家设置成自己喜欢。...即 Tomcat 命令提示窗口不能已经打开),弹出对话框中选择,刚刚配置 Tomcat 环境,边点击“Finish”按钮启动 Tomcat 服务器: 8.等待服务器启动完成。

    2.8K80

    WEBAPP开发技巧总结

    iOS是不自动识别邮件地 址但在Android平台,它会自动检测邮件地址,当用户touch到这个邮件地址时,Android会弹出一个框提示用户发送邮件,如果你不想 Android自动识别页面邮件地址...我们可以利用一句简单javascript代码来实现这个效果 1 setTimeout(scrollTo,0,0,0); 请注意,这句代码必须放在window.onload里才能够正常工作,而且你的当前文档内容高度必须是高于窗口高度时...16、iOS如何获取滚动条值 桌面浏览器想要获取滚动条值是通过document.scrollTop和document.scrollLeft得到但在iOS你会发现这两 个属性是未定义,为什么呢...因为iOS没有滚动条概念,Android通过这两个属性可以正常获取到滚动条值,那么iOS我们该如何获 取滚动条值呢?...19、如何解决android平台中页面无法自适应 虽然你html和css都是完全自适应,但有一天如果你发现你页面android显示并不是自适应时候,首先请你确认你head标签是否包含以下

    1.9K20

    最失败 JavaScript 面试问题

    因此,数字 1 将被跳过,数字 2 将首先在控制台中显示。 我们作为参数传递给 Promise 构造函数函数会同步调用还是异步调用? Promise 构造函数接受函数参数是同步执行。...因此,控制台中接下来要显示数字是 3。 给定零延迟,我们传递给 promise then 处理程序函数会同步调用还是异步调用?...与 setTimeout 不同是,引擎会将 promise 回调放在另一个队列 —— 工作队列(微任务队列),在那里它将等待执行。因此,接下来进入控制数字是 5。...微任务(Promise)比宏任务(setTimeout)有更高优先级,所以下一个控制台中数字将是4,最后一个是1。...解释: 命名函数表达式,名称只函数体内部是局部,外部无法访问。因此,全局作用域中不存在foo。 typeof运算符对未定义变量返回undefined。

    16820

    学生时代所学一些 C 语言知识点回顾(3)——再议指针声明与使用

    笔者工作多年后,在工作偶尔使用到 C 语言,结合实际情况,根据自己理解,通过三段简短代码,对曾经所学 C 语言指针部分知识进行了回顾,希望对自己及阅读本文朋友有所启发。...这段代码能正常通过编译,但是不能正常执行。原因在于:指针变量 p 没有明确指向。实际编程,类似的错误应该避免。...,且调用函数 example() 时, & 运算符不能省略。...就这样,代码能通过编译且能正常执行了。 通过对这三段代码对比,我们会发现: 指针必须指向具体对象。函数定义时,指针类型形参里 * 声明了这个形式参数是一个指针,函数调用时,形参被具体化。...调用函数时使用 & 运算符指明了该指针具体指向对象,并非未定义而直接使用。一个具有明确指向指针通过间接寻址方式可以改变所指向对象值(第三段代码,i值)。

    29210

    iOS程序猿如何快速掌握 PHP,化身全栈攻城狮?

    掌握PHP,无论对自己目前iOS开发工作还是以后个人职场生涯长久发展,都会大有裨益!...下面编写最简单 Hello World 程序,请在以下步骤执行. 1. 应用程序-->XAMPP-->htdocs 目录下新建目录 find_php....JSON格式数据显示作一实现;C,即Controller控制器,也就是我们常说视图控制器,下面会具体讨论如何在PHP定义视图控制器.....这有些类似于我们 .pch全局引入某个头文件,然后整个工程处处可用一样. php 是一种弱类型语言,你定义变量时不必声明类型,但是变量要以 美元符号 $开头. php 使用 new 函数来创建一个对象...,语法是 new 类名(),这不禁让我想起 oc new函数,它语法是: [类名 new]; php 函数,看起来更像是C语言函数,也许说更像 oc block,可能更好理解些. php

    1.8K71
    领券