php运行超时采取分步执行的简单方法

ipvb学习 2014年12月22日 PHP学习 999次阅读 查看评论

  js配合php解决30秒超时的问题

  php处理大量的数据时,因为其对脚本运行时间是有限制的,一般是30秒,超过了30秒会运行超时, 在php.ini中可以修改设置。也可以用set_time_limit(0)设置,0表示不限时间。

  php处理大量的数据时,因为其对脚本运行时间是有限制的,一般是30秒,超过了30秒会运行超时, 在php.ini中可以修改设置。

  也可以用set_time_limit(0)设置,0表示不限时间。

  这种方法对于时间不是太长还好, 如果运行时间要几个小时, 这对服务器是一个很大的负担, 并且你不知道程序运行情况如何。

  于是, 想到可以把PHP执行进行分步, 一次只执行处理几条数据. 再处理下一步的数据.

  下面是一个例子。

  有10000条数据, 要修改其中某些数据, 运用PHP分步执行处理:

  文件:action.php



<?php
$stid = isset($_GET['stid'])?$_GET['stid']:0;
$endid = $stid + 100;
$maxid = 10000;
function dosomething(){
//要时间比较多的操作
……
}
$sql_string=”select *  from `table`  where id>’$stid’ and id<=’$endid’ order by id”;
$datas = getdata_bysql($sql_string);
foreach($datas as $data){
//处理数据
…..
echo $id.” 处理完成. <br />”;
if($id>=$maxid){exit;}
}
if($stid<=$maxid){
$stid = $stid + 100;
$url=”action.php?stid=$stid”;
echo $url;
echo ‘<script language=”javascript”>location=”‘.$url.’”; </script>’;
}
?>


« 上一篇 下一篇 » ipvb学习原创文章,转载请注明出处! 标签:

相关日志:

«   2019年11月   »
123
45678910
11121314151617
18192021222324
252627282930
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
文章归档
网站收藏
友情链接
图标汇集
  • 又拍云
  • 订阅ipvb的RSS 2.0聚合