Apache / WSGI和PHP突然无法连接到MSSQL Server-网站关闭

时间:2018-12-13 07:37:10

标签: php apache freetds pymssql

从昨天到今天,发生了一些事情,阻止了Apache下运行的进程访问对站点正常运行至关重要的MSSQL服务器。

这是我在PHP脚本的Apache错误日志中找到的内容:

PHP Warning:  mssql_connect(): Unable to connect to server

Flask / SQLAlchemy应用程序的信息量更大:

OperationalError: (OperationalError) (20009, 'DB-Lib error message 20009,
severity 9:\\nUnable to connect: Adaptive Server is unavailable or does
not exist (####:1234)\\nNet-Lib error during Permission
denied(13)\\n') None None

当我从运行Apache的同一台计算机上的控制台以测试模式启动同一WSGI应用程序时,一切正常。总结一下:

  • 如果在Apache下运行,WSGI和PHP都无法在一夜之间真正连接到MSSQL服务器

  • 在不使用Apache的情况下运行时,WSGI脚本可以正常运行(无法得知PHP,因为这不是我的领域)

  • 在运行Web应用程序的服务器上没有任何更改(不能说MSSQL服务器)

我需要一个提示。这些东西正在公司的Intranet中运行,人们变得不耐烦了。我只能控制运行Apache的RHEL服务器,而不能控制MSSQL服务器。

freetds page上使用tsql的故障排除技巧都可以正常工作。

我的/etc/freetds.conf开箱即用,并且基本上是空的(所有内容都已注释掉)。

1 个答案:

答案 0 :(得分:1)

结果证明它与Apache等无关。这是一个SELinux许可问题,该问题在夜间重启VM后开始,可能是由印度的sysop引发的。显然,有针对Apache的更新的安全策略。在/ var / log / messages中发现了该问题,值得庆幸的是,该问题中甚至包含有关如何解决该问题的说明。