【发布时间】:2013-01-22 21:02:34
【问题描述】:
我在专用 VPS 上运行 Apache2 和 PHP5。
我有一个脚本应该在 20-50 秒内完成。它工作得很好,但如果由于它选择的行而需要超过 30 秒,它会立即终止脚本并说:
“服务不可用 - 服务暂时不可用。请稍后再试。”
我的 php.ini 中有 max_execution_time=60、max_input_time=60 和 memory_limit=256M。
在 apache2.conf 中,我有 Timeout=300。
在脚本本身中,我也在使用set_time_limit(0);
ignore_user_abort(true);
ini_set('max_execution_time', 0);
ini_set('memory_limit', '512M');
无论我更改什么脚本,只要加载超过 30.00 秒,脚本就会死掉,并且我的任何日志中都没有出现任何内容。
有什么其他设置可以尝试的建议吗?
此脚本仅供内部使用,最终将从命令行运行,但我更喜欢从浏览器调试/测试。
【问题讨论】:
-
如果运行时间超过 15 秒,最好不要在 apache 中运行。在后台运行一个进程。更好的是,在 beanstalkd 中排队一个任务并使用单独的守护进程使用它。