应用更新#53时,我有几台服务器使用Plesk 17在Windows 2016服务器上运行WISP堆栈。直到昨晚,一切都运转良好。两台服务器均已使用重要的Windows修补程序进行了全面更新,其中一个包含所有修补程序。现在,两者都无法使用7.1.x(含)以后的任何版本的PHP连接到SQL Server。
标准连接代码-例如(出于测试目的)
$serverName = "myserver";
$uid = "myuid";
$pwd = "mypassw";
$databaseName = "mydb";
$connectionInfo = array("UID"=>$uid,"PWD"=>$pwd,"Database"=>$databaseName);
$conn = sqlsrv_connect($servername, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
} else{
echo "Connection could not be established.<br />";
die( print_r(sqlsrv_errors(), true));
}
在PHP 7.0.x上运行完美并继续运行的现在失败,
无法建立连接。 数组([0] =>数组([0] => IM004 [SQLSTATE] => IM004 [1] => 0 [2] => [Microsoft] [ODBC驱动程序管理器] SQL_HANDLE_ENV上的驱动程序SQLAllocHandle失败[消息] => [Microsoft] [ODBC驱动程序管理器] SQL_HANDLE_ENV上的驱动程序的SQLAllocHandle失败))
我应该在哪里修复?
答案 0 :(得分:0)
根据症状,组件“ SQL Server的Microsoft ODBC驱动程序17”的安装已损坏。要重新安装它,请使用以下步骤:
C:\ParallelsInstaller\parallels\MSODBCSQL-WIN\thirdparty-windows\msodbcsql_17.3.1.1_x64.msi
。文件名中的版本可能会有所不同,具体取决于Plesk的版本。Next
,选择Repair
,然后再次单击Next
。