【问题标题】:Apache / WSGI and PHP suddenly unable to connect to MSSQL server -- site downApache / WSGI 和 PHP 突然无法连接到 MSSQL 服务器——站点宕机
【发布时间】:2019-05-14 09:16:13
【问题描述】:

从昨天到今天,发生了一些事情,阻止在 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 服务器)

我需要一个快速的线索。这些东西在公司内部网中运行,人们变得不耐烦了。我只能控制运行 Apache 的 RHEL 服务器,而不是 MSSQL 服务器。

在freetds page 上使用 tsql 的故障排除提示都可以正常工作。

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

【问题讨论】:

    标签: php apache freetds pymssql


    【解决方案1】:

    原来它与 Apache 等人无关。这是一个 SELinux 权限问题,在夜间重新启动 VM 后开始,可能是由印度的管理员发起的。显然,apache 有一个更新的安全策略。在 /var/log/messages 中发现了问题,幸运的是,其中甚至包含有关如何修复它的说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多