调用sqlsrv_connect会导致500内部服务器错误

时间:2017-01-25 02:15:21

标签: sql-server php-7 internal-server-error sqlsrv

我正在竞选:

  • Windows Server 2016 64位
  • 同一服务器上的MSSQL Server 2016
  • PHP 7.1
  • IIS 10

我有:

  • 确保我可以使用以下代码中提供的凭据连接到我的SQL。
  • 已安装SQL Server Driver from for PHP from Microsoft,并选择了SQLSRV40
  • 将extension = php_sqlsrv_7_nts_x64.dll和extension = php_pdo_sqlsrv_7_nts_x64.dll添加到/ ext文件夹。
  • 编辑了我的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));
}

执行phpinfo()不会显示sqlsrv。但是,执行以下代码将显示YES。

echo "Did it load? " . extension_loaded('php_sqlsrv_7_nts_x64.dll') ? "YES" : "NO";

我已经为此工作了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中指定。

0 个答案:

没有答案