PHP连接sql2008 R2 Call to undefined function sqlsrv_connect() in 错误!!
答案:3 悬赏:0
解决时间 2021-03-15 17:39
- 提问者网友:星空下的寂寞
- 2021-03-15 04:24
PHP连接mssql2008 r2报错
Fatal error: Call to undefined function sqlsrv_connect() in C:\inetpub\wwwroot\3.php on line 10
系统 win7 sp1 64位
IIS7 + mssql2008 r2
PHP版本 php-5.3.8-nts-Win32-VC9-x64
扩展DLL为
php_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_nts_vc9.dll
测试代码
<?php
//本地测试的服务名
$serverName = "(127.0.0.1)";
//使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名
//如果你使用的是windows身份验证,那么可以去掉用户名和密码
$connectionInfo = array( "UID"=>"sa",
"PWD"=>"123654",
"Database"=>"cs");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
?>
报错信息:
Fatal error: Call to undefined function sqlsrv_connect() in C:\inetpub\wwwroot\3.php on line 10
弄了一天了。。。。。。。。。。
请不要抄着别人的帖子来回答,谢谢!!
最佳答案
- 二级知识专家网友:错过的是遗憾
- 2021-03-15 05:15
用phpinfo()看看有没见到sqlsrv的信息,如果有就恭喜你,你的配置已经没问题了,只要下载个Microsoft SQL Server 2012 Native Client安装好重启Apache或IIS,再重启下SQl Server就OK!
这个问题MS文档上有说明的,5.2的用2008的客户端,5.3以上要用2012的客户端,还要区分ts和nts版本
这个问题MS文档上有说明的,5.2的用2008的客户端,5.3以上要用2012的客户端,还要区分ts和nts版本
全部回答
- 1楼网友:安稳不如野
- 2021-03-15 07:06
Call to undefined function sqlsrv_connect() 是说根本就没这个函数,你确定扩展都加上了么。。。
检查你的php的ext扩展文件夹里面有没有 php_sqlsrv_53_nts_vc9.dll 这个文件
有的话,还要在c盘的windows下的 php.ini 的扩展部分加一句
extension=php_sqlsrv_53_nts_vc9.dll
再重启服务器
还有就是你的连接参数格式有问题
$connstr = array("Database"=>"test","Uid"=>"sa","Pwd"=>"123456","CharacterSet" => "UTF-8");
$conn = sqlsrv_connect('127.0.0.1', $connstr);
你看,服务器地址是字符串,不加括弧,至于数组的键名是否区别大小写我就不太清楚了,不过我这个是实际用的,应该是正确的,你不妨全抄过去试一试
- 2楼网友:风格单纯
- 2021-03-15 06:23
Fatal error: Call to undefined function sqlsrv_connect() in C:\inetpub\wwwroot\3.php on line 10
报错信息显示,是函数为定义;
很可能是你没有引入某个文件,或者文件就不存在。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯