2015-05-25 2 views
-1

Я пытаюсь подключиться к серверу MSSQL через mssql_connection из Apache в CentOS. Это сценарий:mssql_connect(): Не удается подключиться к серверу через Apache

<?php 

$link = mssql_connect('10.10.10.10', 'XXXXXXX', 'YYYYYYYYY'); 

if (!$link || !mssql_select_db('Utilities', $link)) { 
    echo mssql_get_last_message(); 
} 

Если я запускаю этот скрипт через командную строку, я получаю соединение. Но когда я к нему, как страницы через Apache, я получаю ошибку

Warning: mssql_connect(): Unable to connect to server: 10.10.10.10 in /var/www/html/pruebas/pruebas/sql.php on line 4 

В начале я думал, что проблема заключалась в том, что, будучи сервером через прокси, но даже когда я не настроить свою учетную запись для используйте этот прокси-сервер, я все еще могу подключиться через командную строку, но не через apache.

ответ

2

Скорее всего это связано с тем, что SELinux не позволяет Apache (и, следовательно, всем модулям Apache) выполнять удаленные подключения по умолчанию.

Чтобы проверить, что запуск

$ getsebool -a | grep httpd_can_network_connect 
httpd_can_network_connect --> on 
httpd_can_network_connect_db --> on 

и включить их, если они не включены, сделать

$ setsebool -P httpd_can_network_connect 1 
$ setsebool -P httpd_can_network_connect_db 1 

Если это не так, то убедитесь, что у вас установлен PHP-MSSQL, чтобы начать с

yum install php-mssql 
+0

Он работал безупречно! Большое спасибо! Я всегда забываю о досадной SELinux! – Amarnasan

Смежные вопросы