PHP版本5.4, Apache版本2.4, CentOS 7.3
尝试使用以下php代码连接到mssql db,当我从命令行运行它时,该代码工作正常。但是,当我将代码置于apache(在同一服务器上)并通过浏览器调用时,我会收到超时错误。
错误:连接失败:SQLSTATE [HYT00] SQLConnect:0 [unixODBC] [Microsoft] [SQL Server的ODBC驱动程序13]登录超时 过期+
set_time_limit(30);
echo "+ Connection\n";
try {
$pdo = new PDO("odbc:sqlsrv_msodbc", "username", "password");
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
答案 0 :(得分:2)
我遇到了同样的问题。我在流浪汉中使用CentOS 7.3并通过禁用SELinux来解决它。
如果你在开发环境中并且禁用SELinux很酷,你可以通过以下方式实现:
SELINUX=disabled
集
union __attribute__ ((packed)) struct_union
{
struct my_packed_struct data;
int pad[(sizeof(my_packed_struct)+3)/sizeof(int)];
} struct_union;
我在serverfault发现了这个:https://serverfault.com/questions/240015/how-do-i-allow-mysql-connections-through-selinux