Как подключиться с Windows-машины к MSSQL из PHP-скрипта

Подготовка

Во-первых, нужна версия PHP не выше 7.1. Я сначала замахнулся на последнюю актуальную (7.3), но оказалось, что SQLSRV драйвер с ней не работает.
Во-вторых, потребуется Microsoft Drivers 4.3 for PHP for SQL Server (именно версии 4.3 для PHP версии 7)
Далее, нужен ODBC Driver for SQL Server версии 13 (не выше, иначе не будет работать с SQLSRV нужной версии).

Установка

При установке драйвера ODBC не забыть отметить соответствующий чекбокс в инсталляторе, по умолчанию он снят.

Microsoft Drivers for PHP for SQL - это обычный самораспаковывающийся архив. Распаковать его куда-нибудь. Скопировать библиотеки php_sqlsrv_71_ts_x64.dll и  php_pdo_sqlsrv_71_ts_x64.dll в папку ext установленного PHP. Мой пример для x64 и потокобезопасной версии PHP, в ином случае выбрать свою разрядность и версию).


В php.ini в секции Dynamic Extensions добавить эти библиотеки в список подключаемых расширений:

extension=php_sqlsrv_71_ts_x64.dll
extension=php_pdo_sqlsrv_71_ts_x64.dll

Проверка

Теперь можно подключаться. Проверочный скрипт:

$serverName = "192.168.0.3"; 
   
$connectionInfo = array( "UID"=>'username',                              
                         "PWD"=>'userpassword',                              
                         "Database"=>'databasename',
             "CharacterSet" => "UTF-8");    

$conn = sqlsrv_connect($serverName, $connectionInfo); 

if ($conn) {
     echo "Connection established.\n";
}else{
     echo "Connection could not be established.\n";
     die(print_r(sqlsrv_errors(), true));
}

sqlsrv_close($conn);

Здесь основное - не забыть указать кодировку соединения.