30秒运行超时的错误(Maximum execution time of 30 seconds exceeded)
Posted 阿鸠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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";
以上是关于30秒运行超时的错误(Maximum execution time of 30 seconds exceeded)的主要内容,如果未能解决你的问题,请参考以下文章
php 超时 解决办法 (Maximum execution time of 30 seconds exceeded)这个问题?