После большого количества чтения и поиска я смог получить PDO DBLIB, работающий в Centos 6.4 32bits (имеется много документации для 64 бит, а не для 32 бит). К моему удивлению, следующий код работы с командной оболочки ($ PHP test.php)PDO DBLIB, доступ к SQL Server 2008 и 2012
<?php
try {
$conn = new PDO('dblib:host='.$host.':1433;dbname='.$db, $user, $pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
Но при посещении файла test.php из веб-браузера, я получаю следующую ошибку:
ERROR: SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (severity 9)
Я также возможность подключения к серверам SQL из командной строки с помощью команды:
tsql -H 192.168.1.120 -p 1433 -U sa
Что я упускаю?
Режимы cli и sapi в PHP могут иметь совершенно разные конфигурации. сравните настройки 'php -i' (cli) и' phpinfo() '(sapi) и посмотрите, есть ли различия. –
Есть ли способ сделать то же самое? –
измените соответствующий файл .ini. php -i/phpinfo расскажет вам, какие (и где) файлы .ini используются. –