php - Apache 和/或 PHP 超时 - 难住了。

标签 php linux apache timeout

我有一个 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/

相关文章:

apache - 缺少短 URL 文件的奇怪行为

Apache mod_rewrite 将文件类型重定向到另一个域

php - MYSQL - 根据输入参数更新列的存储过程

linux - 如果我没有得到预期的整数值,我该如何终止我的脚本? - BASH shell 脚本

Python 2.7.11 - 导入错误 : cannot import name QtWebKit - Kali Linux/Debian 8

linux - Bash ssh for loop - 环境变量问题

php - 搜索海量数据库时的速度

php - Phinx - php 应用程序的数据库迁移 - postgreSQL 模式不起作用

php - 如何播种自引用表 Laravel 5.1

php - 突出显示段落中的关键字