30秒运行超时的错误(Maximum execution time of 30 seconds exceeded)

解决方案:

 

方法一:修改php.ini文件
max_execution_time = 30; Maximum execution time of each script, in seconds
把它设置成需要的值就可以了。如果设置成0的话,就是永不过期。

 

方法二:修改php执行文件
加上
<?
set_time_limit(0);
?>
max_execution_time = 30; Maximum execution time of each script, in seconds
把它设置成需要的值就可以了。如果设置成0的话,就是永不过期。
 
 
 
 
 
 
补充:
 
内存超限,具体报错语句忘了,简单说一下解决办法。
 
解决方法利用循环分批导入;
 
每个循环内部开始处使用sleep(5);语句,做延迟执行,防止服务器内存同一时间占用过多,里面数字据情况修改;
 
每个循环内部结束地方使用 ob_flush();
 
刷新输出缓冲 flush();将当前为止程序的所有输出发送到用户的浏览器
 
两者必须同时使用来刷新输出缓冲
 
 
 
**ob_flush()和flush()的区别。
 
前者是把数据从PHP的缓冲中释放出来,
 
后者是把不在缓冲中的或者说是被释放出来的数据发送到浏览器。
 
所以当缓冲存在的时候,我们必须ob_flush()和flush()同时使用
 
 
//附上一段非常有趣的代码,作者为PuTTYshell。在一个脚本周期里,每次输出,都会把前一次的输出覆盖掉。

header('Content-type: multipart/x-mixed-replace;boundary=endofsection');
  print "\n--endofsection\n";

  $pmt = array("-", "\\", "|", "/" );
  for( $i = 0; $i <10; $i ++ ){
     sleep(1);
     print "Content-type: text/plain\n\n";
     print "Part $i\t".$pmt[$i % 4];
     print "--endofsection\n";
     ob_flush();
     flush();
  }
  print "Content-type: text/plain\n\n";
  print "The end\n";
  print "--endofsection--\n";

 

 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/zhengweizhao/p/7239699.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值