Sql server 调用sqlsrv_connect会导致500个内部服务器错误
我正在运行:Sql server 调用sqlsrv_connect会导致500个内部服务器错误,sql-server,php-7,internal-server-error,sqlsrv,Sql Server,Php 7,Internal Server Error,Sqlsrv,我正在运行: Windows Server 2016 64位 同一台服务器上的MSSQL Server 2016 PHP7.1 IIS 10 我有: 确保我可以使用下面代码中提供的凭据连接到我的SQL 已安装,并选择了SQLSRV40 将extension=php_sqlsrv_7_nts_x64.dll和extension=php_pdo_sqlsrv_7_nts_x64.dll添加到/ext文件夹 编辑my php.ini并添加extension=php_sqlsrv_7_nts_x6
- Windows Server 2016 64位
- 同一台服务器上的MSSQL Server 2016
- PHP7.1
- IIS 10
- 确保我可以使用下面代码中提供的凭据连接到我的SQL
- 已安装,并选择了SQLSRV40
- 将extension=php_sqlsrv_7_nts_x64.dll和extension=php_pdo_sqlsrv_7_nts_x64.dll添加到/ext文件夹
- 编辑my php.ini并添加extension=php_sqlsrv_7_nts_x64.dll和extension=php_pdo_sqlsrv_7_nts_x64.dll,然后重新启动服务器
$connectionInfo = array( "Database"=>$db, "UID"=>$username, "PWD"=>$password);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{ //Will not execute. As such, I have no idea what error(s) am I getting
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
我已经为此工作了2天,并遵循了许多论坛的建议,我不知道该尝试什么了。非常感谢各位专家的建议!:)
更新1:
我修改了下面的代码,它显示了一个NO
echo "Did it load? " . (extension_loaded('sqlsrv') ? "YES" : "NO");
echo "Did it load? " . (extension_loaded('pdo_sqlsrv') ? "YES" : "NO");
我不明白为什么它没有正确安装,因为dll已经放在扩展文件夹中,并且如我前面所述在php.ini中指定。
extension\u loaded()
要求的是扩展名而不是dll文件名。。。所以它应该是extension\u-loaded('sqlsrv')
或extension\u-loaded('pdo\u-sqlsrv')
。此外,您的测试将始终显示YES
,您需要将三元表达式括在括号中。@ImClarky哦,不。。。我用扩展名替换了它,并添加了括号。现在,字符串显示正确,并显示“否”。为什么是“否”?我已经将dll放在扩展文件夹中,并将其添加到我的php.ini中。我还缺什么?看看。OP似乎和你有同样的问题。它成功了!!您可以将此作为答案发布,或者我将更新我的帖子以更新到您建议的帖子!:)extension\u loaded()
需要扩展名而不是dll文件名。。。所以它应该是extension\u-loaded('sqlsrv')
或extension\u-loaded('pdo\u-sqlsrv')
。此外,您的测试将始终显示YES
,您需要将三元表达式括在括号中。@ImClarky哦,不。。。我用扩展名替换了它,并添加了括号。现在,字符串显示正确,并显示“否”。为什么是“否”?我已经将dll放在扩展文件夹中,并将其添加到我的php.ini中。我还缺什么?看看。OP似乎和你有同样的问题。它成功了!!您可以将此作为答案发布,或者我将更新我的帖子以更新到您建议的帖子!:)
echo "Did it load? " . (extension_loaded('sqlsrv') ? "YES" : "NO");
echo "Did it load? " . (extension_loaded('pdo_sqlsrv') ? "YES" : "NO");