set_time_limit设置无效的处理方案


分类:PHP 作者:myerob 标签:set_time_limit 设置 无效 方案 阅读:333 收藏
导读:
PHP设置脚本最大执行时间的三种方法1、在php.ini里面设置max_execution_time = 120;2、通过PHP的ini_set函数设置ini_set("max_execution_t…

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);


但是特别需要注意对于后台脚本运行的监视,具体需要处理情况有:
 

1、如果正在运行,再次点击无效;
2、如何手动停止;
3、什么情况下,自动停止;

set_time_limit无效可能原因及处理方案:

当你发现以上方案无效后,需要按以下步骤进行检查。

第一步:查看php.ini的 safe_mode = off,safe_mode的值是否是off,为on不能修改php最大执行时间的,值为on只能通过php.ini配置文件进行修改。

第二步:检查装载php的进程执行时间设置,这里以最常用的php-fpm为例,查看php-fpm的request_terminate_timeout,上面提到的三种方式增加执行时间不能超过改设置。

第三步:查看apache或者nginx脚本最大运行时间。当然,如果你设置了连接断开继续运行”ignore_user_abort(true);“,web容器这里不影响脚本运行。

 

 

 


相关推荐