php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,如果脚本需要跑很长时间,例如要大量插入数据库,或者分析统计大量数据,服务器会在 30 秒后强行终止正在执行的程序,这自然不是我们希望看到的,所以就要更改php脚本最大执行时间。
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);
案例:
有文本文件data.txt,共有五万行,现在需要将这批数据按行插入数据库。可以预见,这个脚本执行需要很长时间,所以必须设置最大执行时间,此处设置成无限制。
set_time_limit(0);
$file = fopen('data.txt', 'r');
while (!feof($file)) {
$time = time();
$line = fgets($file);
DB::query("INSERT INTO `code`(code,created_at) VALUES('$line',$time)");
}
echo 'successful imported';
网友评论