【问题标题】:PHP timeout when connecting to mssql under apacheapache下连接mssql时PHP超时
【发布时间】:2017-06-24 13:51:30
【问题描述】:

PHP 5.4 版, 阿帕奇 2.4 版, CentOS 7.3

尝试使用以下 php 代码连接到 mssql db,当我从命令行运行它时,它可以正常工作。但是,当我将代码放在 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);
  • 嗨 - 尝试过但得到相同的错误结果。

标签: php sql-server apache pdo


【解决方案1】:

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

如果您在开发环境中并且禁用 SELinux 很酷,您可以这样做:

sudo vi /etc/sysconfig/selinux

设置

SELINUX=disabled

我在 serverfault 上找到了这个:https://serverfault.com/questions/240015/how-do-i-allow-mysql-connections-through-selinux

【讨论】:

  • 感谢 Sean256!那行得通。哇 - 没想到。
  • 没问题!介意给兄弟一个正确的答案吗?
  • 努力!还没有声望!
猜你喜欢
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
相关资源
最近更新 更多