2015-05-25 87 views
-1

我想通過CentOS中的Apache通過mssql_connection連接到MSSQL服務器。這是腳本: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

相關問題