PHP脚本执行超时的多种设置方式

AndyYang| 阅读:1348 发表时间:2020-06-07 21:15:41 php
摘要:php.ini 中限定程序的最长执行时间是 30 秒,这是由 php.ini 配置文件中的 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成的程序代码,代码会由于超时而执行失败,例如要发送很多电子邮件给大量收件者,或者要进行繁重的数据分析工作,服务器会在 30 秒后强行中止正在执行的程序,如何解决这个问题呢。
php.ini 中限定程序的最长执行时间是 30 秒,这是由 php.ini 配置文件中的 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成的程序代码,代码会由于超时而执行失败,例如要发送很多电子邮件给大量收件者,或者要进行繁重的数据分析工作,服务器会在 30 秒后强行中止正在执行的程序,如何解决这个问题呢。

PHP设置脚本最大执行时间的三种方法:
1、在php.ini里面设置
max_execution_time = 120;

2、通过PHP的ini_set函数设置
ini_set("max_execution_time", "120");

3、通过set_time_limit 函数设置
set_time_limit(120);

以上几个数字设置为0则无限制,脚本会一直执行下去,直到执行结束。
所以,需要长时间执行的脚本,一般在php代码开头处添加如下代码就可以了
set_time_limit(0);

如果运行中内存会增大,需要加大内存:
ini_set('memory_limit', '500M'); // 临时设置最大内存占用为500M

有的时候这样设置之后,实际还是不可行的,服务器会报502。这个时候我们就得检查php-fpm的设置:
request_terminate_timeout
这个值是max_execution_time,就是fast-cgi的执行脚本时间,将其设置为0s。

0s为关闭,就是无限执行下去。

php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。
本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有0条评论

昵称:
邮箱:

  • 最新评论

iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号