Среда:
После вчерашнего раунда обновлений, примененных Microsoft, мой mssql_connect перестал работать.
tsql -LH x.x.x.x
по-прежнему правильно показывает сервер и порт
tsql -H x.x.x.x -U user
подключается нормально
Я ничего не получаю в логах apache или в журнале freetds
Вот сегмент кода, который терпит неудачу (критическая информация изменена)
error_reporting(E_ALL); ini_set('display_errors',1);
$con = mssql_connect('server', 'user', 'pass');
var_dump($con);
if (!$con) {
if ( function_exists('error_get_last') ) {
var_dump(error_get_last());
}
die('Could not connect to the server!!'.mssql_get_last_message());
}
И вот результат:
Предупреждение: mssql_connect (): невозможно подключиться к серверу: сервер в /home/……/public_html/states/index.php в строке 25
BOOL (ложь)
array (4) {[«type»] => int (2)
[«message»] => string (55) «mssql_connect (): невозможно подключиться к серверу: сервер»
[«file»] => string (63) «/home/……/public_html/states/index.php»
[«line»] => int (25)} Не удалось подключиться к серверу !!
Пожалуйста помоги!
Я не могу оставить комментарий, чтобы спросить это, но вот мои мысли.
Очевидно, что он не подключается к серверу за пределами командной строки, поэтому вам нужно будет дважды проверить его конфигурацию (проверить порт сервера, указать порт и т. Д.)
Это работает с ОС типа Win или Unix?
Это Linux. Я нашел работу на данный момент. Проблема возникает на стороне Windows, где, хотя команда tsql -LH показывает IP-адрес и порт, она фактически не отвечает на запросы порта. Вы подключаетесь к серверу через TCP и все.
Поскольку сервер SQL является многодомным, я добавил дополнительное подключение к серверу веб-приложений, который подключается к нему через основной IP-адрес.
Я буду преследовать IP-привязку и проблему обслуживания позже. Или, может быть, просто конвертировать все это в mariaDB или Postgres.