set_time_limit() 设置程序执行时间的函数
简介
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中的时间限制,没有别的办法。