Plesk更新后,PHP 7.1x MSSQL连接在SQL_HANDLE_ENV上的SQLAllocHandle失败

时间:2019-05-15 19:25:05

标签: php sql-server plesk sqlsrv

应用更新#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失败))

我应该在哪里修复?

1 个答案:

答案 0 :(得分:0)

根据症状,组件“ SQL Server的Microsoft ODBC驱动程序17”的安装已损坏。要重新安装它,请使用以下步骤:

  1. 运行安装程序文件C:\ParallelsInstaller\parallels\MSODBCSQL-WIN\thirdparty-windows\msodbcsql_17.3.1.1_x64.msi。文件名中的版本可能会有所不同,具体取决于Plesk的版本。
  2. 单击Next,选择Repair,然后再次单击Next