我有一个 PHP 脚本,当通过浏览器调用时,它会在 60 秒后超时。我修改了 httpd.conf 并将 Timeout 指令设置为 300。我修改了所有 PHP 超时设置以延长超过 60 秒。当我从命令行运行脚本时,它将完成。当我每次在 60 秒后通过浏览器执行时,POOF,超时。
我还检查了任何 .htaccess 文件中是否存在超时指令。那里什么都没有..我完全被难住了。
我还在 PHP 代码中强制 set_time_limit(0) 。
我已经挖掘和测试了一个星期,已经耗尽了我的知识。任何帮助是极大的赞赏。
最佳答案
您需要确保在 PHP 和 Apache 中设置更高的超时限制。
如果您在 php.ini 中设置较高的 max_execution_time,您的脚本将不会超时,但是,如果您没有定期将脚本结果的输出黄油刷新到浏览器,则脚本可能会在 Apache 上超时由于网络超时而结束。
在 httpd.conf 中执行以下操作:
Timeout 216000
在 php.ini 中执行以下操作:
max_execution_time = 0
(将其设置为 0 使其永远不会超时,就像使用 CLI(命令行)脚本一样)。
完成后请务必重新启动 Apache!在大多数 Linux 发行版上,您可以通过发出以下命令(以 root 身份)来执行此操作:
service httpd restart
希望这有帮助!
关于php - Apache 和/或 PHP 超时 - 难住了。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232321/