为了账号安全,请及时绑定邮箱和手机立即绑定

致命错误:调用未定义函数sqlsrv_connect()

致命错误:调用未定义函数sqlsrv_connect()

鸿蒙传说 2019-09-26 15:04:35
致命错误:调用未定义函数sqlsrv_connect()我遇到过很多关于同一主题问题的帖子,但是我仍然无法解决,所以我问。我试图在我的PHP脚本中连接到sql。我的连接字符串是:/* Specify the server and connection string attributes. */$serverName = "xxx-PC\SQLExpress";$connectionOptions = array("Database"=>"Salesforce");$conn = sqlsrv_connect($serverName, $connectionOptions);if($conn === false){       die(print_r(sqlsrv_errors(), true));}我已php.ini在wamp文件夹下的文件中安装并包含以下内容C:\wamp\bin\php\php5.4.16:extension=c:/wamp/bin/php/php5.4.16/ext/php_sqlsrv_53_ts.dll我wampserver的运行良好,wampapacheand wampsqld服务也是如此。我能够成功执行php.exe。但是,我无法建立与SQL Server 2008 R2数据库位置的连接。请帮忙!编辑1:当我尝试连接到时,wamp服务器正在运行wampmysql服务SQL Server 2008 R2。这可能是原因吗?我应该使用MySQL代替SQL吗?有指针吗?编辑2:我没有看到sqlsrv部分都当我运行phpinfo()虽然我已经加入extension=php_sqlsrv_54_ts.dll了在php.ini位于WAMP的服务器的bin文件夹中的文件。
查看完整描述

4 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

安装第三方扩展时,需要确保所有编译参数都匹配:

  • PHP版本

  • 体系结构(32/64位)

  • 编译器(VC9,VC10,VC11 ...)

  • 线程安全

常见的故障包括:

  • 编辑错误的php.ini文件(通常是捆绑销售商品);正确的路径显示在中phpinfo()

  • 忘记重新启动Apache。

  • 无法看到启动错误;这些应该显示在Apache日志中,但是您也可以使用命令行对其进行诊断,例如:

    php -d display_startup_errors=1 -d error_reporting=-1 -d display_errors -c "C:\Path\To\php.ini" -m

如果一切正常,您应该sqlsrv在命令输出中看到和/或phpinfo()(取决于您配置的SAPI):

[PHP模块] 
bcmath 
日历
Core 
[...]
SPL 
sqlsrv
标准
[...]

//img1.sycdn.imooc.com//5d8c633f00015c3209340201.jpg

查看完整回答
反对 回复 2019-09-26
?
偶然的你

TA贡献1841条经验 获得超3个赞

帮助我找到了答案。php.ini在我的情况下,有两个文件用于清理。一个位于php文件夹下,另一个位于该C:\wamp\bin\apache\Apachex.x.x\bin文件夹中。通过sqlsrv_connect函数连接到SQL时,我们引用的是php.ini文件apache夹中的文件。将以下内容(根据您的版本)添加到此文件:

extension=c:/wamp/bin/php/php5.4.16/ext/php_sqlsrv_53_ts.dll


查看完整回答
反对 回复 2019-09-26
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

如果您使用的是Microsoft驱动程序3.1、3.0和2.0。请检查您的PHP版本已随IIS安装。

使用此脚本检查php版本:

<?php echo phpinfo(); ?>

要么

如果已使用Web平台安装程序在IIS中安装了PHP Manager,则可以从中检查版本。

然后:
如果您正在使用新的PHP版本(5.6),请从此处下载驱动程序

对于低于5.6的PHP版本-请从此处下载驱动程序

  • PHP驱动程序版本3.1需要PHP 5.4.32或PHP 5.5.16或更高版本。

  • PHP驱动程序版本3.0需要PHP 5.3.0或更高版本。如果可能,请使用PHP 5.3.6或更高版本。

  • PHP驱动程序2.0版驱动程序可用于PHP 5.2.4或更高版本,但不适用于PHP 5.4。如果可能,请使用PHP 5.2.13或更高版本。

然后使用PHP Manager将下载的驱动程序添加到php config文件中。您可以如下所示进行操作(浏览文件并按OK)。 然后重新启动IIS服务器

//img1.sycdn.imooc.com//5d8c635200017df006590498.jpg

如果此方法无效,请更改php版本并尝试运行您的php脚本。 

//img1.sycdn.imooc.com//5d8c63630001ad7e06020528.jpg

要将其更改php version为较低值并尝试了解发生了什么。那么您可以下载执行上述步骤的相关驱动程序。

查看完整回答
反对 回复 2019-09-26
  • 4 回答
  • 0 关注
  • 1511 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信