Apache下连接MSSQL时PHP超时

3

PHP版本为5.4, Apache版本为2.4, CentOS版本为7.3。

尝试使用以下PHP代码连接到MSSQL数据库,当我在命令行上运行它时,它正常工作。但是,当我将代码放置在Apache下(同一台服务器上)并通过浏览器调用时,我会收到超时错误。

错误:连接失败:SQLSTATE [HYT00] SQLConnect:0 [unixODBC] [Microsoft] [ODBC Driver 13 for SQL Server]登录超时 已过期+

set_time_limit(30);
echo "+ Connection\n";
try {
    $pdo = new PDO("odbc:sqlsrv_msodbc", "username", "password");
    } catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    }

请使用 set_time_limit(0); - Rana Ghosh
嗨 - 我尝试了,但是得到了相同的错误结果。 - MikeG
1个回答

2

我刚刚遇到了同样的问题。我正在使用vagrant中的CentOS 7.3,并通过禁用SELinux来解决它。

如果你在开发环境中,且禁用SELinux是可行的,你可以通过以下方式实现:

sudo vi /etc/sysconfig/selinux

设置

SELINUX=disabled

我在serverfault上发现了这个问题:如何通过SELinux允许MySQL连接


谢谢Sean256!那个方法可行。哇 - 从来没有想过。 - MikeG
没问题!能给兄弟一个正确答案的标记吗? - Sean256
努力中!还没有声望! - MikeG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接