PHP设置脚本执行时间

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

你可能感兴趣的:(PHP设置脚本执行时间)