【问题标题】:mssql_connect(): Unable to connect to server through Apachemssql_connect():无法通过 Apache 连接到服务器
【发布时间】:2015-05-25 11:36:31
【问题描述】:

我正在尝试通过 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。

【问题讨论】:

    标签: php sql-server apache


    【解决方案1】:

    很可能是因为 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
    

    【讨论】:

    • 完美运行!非常感谢你!我总是忘记讨厌的 SELinux!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多