Окружающая среда:
веб-сервер: Debian8 с Apache, PHP, unixODBC, FreeTDS (текущие версии установлены с помощью apt-get на прошлой неделе)
dataserver: Windows Server 2008 с MS SQL Server 2008
Открытие в веб-браузере: (переменные установлены и справа)
<?php
$connect = odbc_connect($db_server,$db_user,$db_password);
var_dump($connect);
Я получил:
Предупреждение: odbc_connect (): ошибка SQL: [unixODBC] [FreeTDS] [SQL Server] Невозможно подключиться к источнику данных, состояние SQL S1000 в SQLConnect в /var/www/html/test/index.php в строке 11 bool (false )
Запуск того же файла / кода в командной строке приводит к:
ресурс (4) типа (ссылка odbc)
Поскольку я читал, что это могло иметь какое-то отношение к SElinux, я попытался ввести sestatus
в командной строке, что приводит к
bash: sestatus: Команда не найдена.
tsql / isql тоже работает.
Где мне нужно внести изменения, чтобы разрешить apache подключаться к серверу MSSQL?
Чтобы разрешить apache взаимодействовать с MSSQL, вы должны сделать следующее:
setsebool -P httpd_can_network_connect on
setsebool -P httpd_can_network_connect_db on
Через пару секунд вы будете на связи.