【发布时间】:2013-03-24 07:44:49
【问题描述】:
我有一个需要处理 1 到 5 个小时的 php 脚本(向我们的客户发送新闻通讯)。我尝试了set_time_limit(2000); 和ini_set('max_execution_time', 360000);,但都不起作用。它们可以在 XAMPP 本地服务器上完美运行,但不能在我们的专用服务器(Unix 和 Apache)上运行。我还将 Apache 超时更改为 300(即 50),但在脚本运行 30 秒后,它返回:
内部服务器错误页面(错误 500)
我不知道是否还有其他地方可以超时和/或为什么服务器不支持ini_set() 或set_time_limit() 函数。我们使用 Unix CentOS 6 和 Plesk 11.9 作为服务器。我还更改了默认的 php.ini max_execution_time,并且可以正常工作...
我阅读了很多文章和论坛,但我不知道为什么会发生这种情况。感谢您的帮助。
【问题讨论】:
-
只是一个建议,你能创建一个cron作业吗?
-
从命令行调用的脚本没有时间限制。您不希望浏览器参与其中。
-
我建议cron任务,获取包并发送,将此包标记为已发送和下一个循环,获取下一个包并发送等。
-
我建议您尝试将您的发送分成几块,这样很快就会被标记为垃圾邮件发送者。