【发布时间】:2016-05-29 13:12:24
【问题描述】:
希望大家能帮帮我。我花了大约 7 个小时试图找到答案,并且到目前为止已经尝试了很多东西。
我有一个 PHP 脚本,用于在两台服务器之间同步文件/数据库数据。在你们问这个过程对于这个项目是必要的并且必须保持原位之前。
该脚本基本上会查找目录中在过去 72 小时内发生更改的所有文件,并将它们 SFTP 到另一台服务器,替换任何需要的文件。然后它会创建备份数据库的副本,删除某些表/行,更改其他表/行并导出 .sql 文件。然后,它将这个 .sql 文件 SFTP 到另一台服务器,并在第二台服务器上的文件上调用一个包含,该文件导入 .sql 文件,用更新的数据替换现有数据库。
所有这些都有效...
问题在于,无论我对 Apache 配置进行什么更改,脚本每次都会在 30 秒后给我一个 503 错误(准确地说是在 30.02 到 30.04 秒之间)。但是,PHP 脚本继续运行并成功完成所有操作,包括写入日志文件,大约需要 60-61 秒。 Apache 日志中也没有任何内容引用任何类型的错误。
我检查了所有使用的 .conf 文件,没有一个提到 30 秒超时。在我的 httpd.conf 中,我添加了以下几行:
TimeOut 300
ProxyTimeOut 300
KeepAlive On
KeepAliveTimeout 60
我还将 php 脚本的 max_execution_time 和 memory_limit 分别设置为 120 和 2048M,以确保在测试期间排除这种情况。
该页面应该向用户显示成功消息,并报告更改/更新的内容。但是,由于 503 错误,我无法做到这一点。所以我希望摆脱这个 503 限制,以便它可以正确显示同步的最终结果。老实说,我对 Apache 配置不太太熟悉,所以任何关于什么会导致这个/在哪里查看的帮助/想法都会非常感激!
提前致谢!
【问题讨论】:
标签: php mysql apache config http-status-code-503