set_time_limit() 设置程序执行时间的函数

臭大佬 2017-11-27 07:36:22 2621
php 
简介 set_time_limit() 设置程序执行时间的函数

   之前做数据迁移的时候,遇到一个问题,情况是这样的,要把数据移动到另一个数据库里面,自己写了个迁移程序,文章数据比较多,大概10万来条,当程序跑了1000来条的时候,突然就停止了,后来去网上查了一下,原来是未设置失效时间导致的:

   一个简单的例子,在网页里显示1500条语句,如果未设置失效时间,则程序执行到791时结束了,如果使用 set_time_limit(0),则程序直到1才结束。

//set_time_limit(0); 
$i = 1500;
include("inc/conn.php");
while ($i > 0) {
    $sql = "INSERT INTO php (php) 
VALUES ('$i')";
    if ($conn->execute($sql) === flase) {
//echo "数据插入错误".$conn->errormsg(); 
    } else {
        $phpid = $conn->Insert_ID();
        echo $i . "已经存入数据库,编号:" . $phpid;
    }
    $i--;
    echo "";
}

set_time_limit — 设置脚本最大执行时间,当php运行于安全模式时,此功能不能生效。除了关闭安全模式或改变php.ini中的时间限制,没有别的办法。