2013-04-02 55 views
0

我有一个需要处理1到5个小时(向我们的客户发送通讯)的php脚本。我尝试了set_time_limit(2000);ini_set('max_execution_time', 360000);,但都没有炒锅。他们在XAMPP本地服务器上工作得很好,但他们不能在我们的专用服务器上工作(Apache & Apache)。我也改变了Apache的超时300(这是50),但脚本运行30秒后,它返回:Linux服务器上的内部服务器错误(500)和PHP'max_execution_time

内部服务器错误页面(错误500)

我不知道如果有其他地方超时和/或为什么服务器不遵守ini_set()set_time_limit()函数。我们使用Unix CentOS 6和Plesk 11.9作为服务器。我也改变了默认php.ini max-excution-time,它的工作原理...

我看了很多文章和论坛,但我不知道为什么会发生这种情况。我感谢您的帮助。

+0

只是一个建议,你可以创建一个cron工作吗? – Class

+0

从命令行调用的脚本没有时间限制。你不想要一个涉及这个的浏览器。 – 2013-04-02 20:38:15

+0

我建议cron任务,获取包并发送,将此包标记为已发送和下一个周期,获取下一个包并发送等。 – mkjasinski

回答

0

更好的方法是使用ini_set()set_time_limit()在向客户发送新闻稿的脚本的顶部......您不应该尝试主要配置文件......还有,如上面提到的那样,cron作业是很适合这种情况..

+0

嘿家伙,我感谢您的回答和评论。我设置了cron作业,并且它工作得很完美。我也尝试过大块(每块有150封电子邮件)的方法,而且这个方法也可以... –

0

我很感谢你的回答和评论。我设置了cron作业,并且它工作得很完美。我也尝试过大块(每块大约150封电子邮件)的方法,而且这个方法也适用。

0

//添加,在你的PHP文件头或配置

ini_set('max_execution_time','256'); //max_execution_time','0' <- unlimited time 
ini_set('memory_limit','512M'); 

良好的工作!