视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
解决php运行超时的方法
2020-11-03 19:03:01 责编:小采
文档


推荐教程:PHP视频教程

  php.ini 中缺省的最长执行时间是 30 秒,虽然可以通过调整 php.ini 中 max_execution_time的值来达到目的,但有些情况是没有条件修改php.ini的,如何解决这个问题呢。

  一种方法是在 PHP 脚本中加入

ini_set('max_execution_time', '0');

  将运行时间设置成0(无限值);

  另一种方法是在命令行下执行脚本,使用命令行执行脚本时,最大运行时间被设置为了无限值。

  修改php.ini的脚本执行时间

  编辑php.ini,修改max_execution_time值:

max_execution_time=500
//此修改需要重新加载php.ini,需要重启web服务器生效。

  通过.htaccess 文件设置脚本执行时间

php_value max_execution_time 500

  在脚本中设置执行的最大时间

ini_set('max_execution_time', 500);

  用php的函数取消脚本的时间

set_time_limit(0);

  set_time_limit用来设置脚本的超时时间,此函数规定从该句运行时起程序必须在指定秒数内运行结束,超时则程序出错退出。

  下面是一个例子. 有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>’;
 }
?>

其中的dosomething()是一个耗时操作. 这里我们通过id范围来减少运行时间, 运行完后通过javascript的跳转来自动运行下一步

现在dedecms生成html页面时就是这样做的哦。

相关文章推荐:
1.让php超时的办法是什么
2.php请求接口超时如何解决
相关视频推荐:
1.独孤九贱(4)_PHP视频教程

下载本文
显示全文
专题