mssql_connect():无法通过Apache

时间:2015-05-25 11:36:32

标签: php sql-server apache

我试图通过CentOS中Apache的mssql_connection连接到MSSQL服务器。这是脚本:

<?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连接。

1 个答案:

答案 0 :(得分: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