PHP 7.1x MSSQL-соединение завершается неудачно с SQLAllocHandle на SQL_HANDLE_ENV после обновления Plesk - PullRequest
0 голосов
/ 15 мая 2019

У меня есть несколько серверов со стеками WISP на сервере Windows 2016 с использованием Plesk 17, когда было применено обновление # 53.До прошлой ночи все работало идеально.Оба сервера полностью обновлены критическими исправлениями Windows, один со всеми исправлениями.Теперь оба не могут подключиться к SQL Server с любой версией PHP, более поздней, чем 7.1.x.

Стандартный код подключения - такой как (для целей тестирования)

$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] SQLAllocHandle драйвера на SQL_HANDLE_ENV не удалось [сообщение] =>[Microsoft] [Диспетчер драйверов ODBC] Ошибка SQLAllocHandle драйвера на SQL_HANDLE_ENV завершилась неудачно))

Где мне искать исправления?

1 Ответ

0 голосов
/ 17 мая 2019

Судя по признакам, установка компонента «Microsoft ODBC Driver 17 for SQL Server» повреждена.Чтобы переустановить его, выполните следующие действия:

  1. Запустите установочный файл C:\ParallelsInstaller\parallels\MSODBCSQL-WIN\thirdparty-windows\msodbcsql_17.3.1.1_x64.msi.Версия в имени файла может слегка отличаться в зависимости от версии Plesk.
  2. Нажмите Next, выберите Repair и снова нажмите Next.
...