很多使用PHP程序站点的朋友都曾经遇到过这样的一种报错,特别是网站采集数据的时候容易出现:
Fatal error: Maximum time of 30 seconds exceeded in D:/php/AppServ/www/sum3/test.php on line 5
这个错误的意思是说你的php执行时间越过了配置文件中设置的最大执行时间30秒。
出现这个错误提示,首先确定一点这不是你的程序本身存在的问题,而是系统的配置文件问题,如果你的网速够快的话,可能再执行一次就不会出现这种错误了,但是出现了这样的问题也是可以进行一定的修改的,下面361源码收集了3种PHP执行超时解决方案分享给大家:
1.修改php的配置文件
找到php.ini文件,它一般应该放在你的C:/WINDOWS目录下,然后找到max_execution_time = 30 ;//设置成你想要的值,单位是秒
这一行,这就是设置的执行时间最大值为30秒,你可以对这个值进行一下修正,改为你的期望值。(也可以直接设置成:max_execution_time = 0)
2.使用ini_set()函数
不是所有人都能修改php.ini文件的,那么你可以使用这个函数来改变你的最大执行时间限制值,如:
ini_set('max_execution_time', '100');
则设置为100秒,你也可以设置为0,那么就是不限制执行的时间。
3.使用set_time_limit()函数
set_time_limit(20)则表示最大执行时间加上20秒,但如果在php执行安全模式时,set_time_limit()将不会有结果,除非你用了第一种方法。
下面361源码就这几个函数做些补充说明,以下是部分讲解:
set_time_limit --- 限制最大的执行时间
set_time_limit
(PH3 , PHP4)
set_time_limit --- 限制最大的执行时间
语法 : void set_time_limit (int seconds)
说明 :
设定一个程式所允许执行的秒数,如果到达限制的时间,程式将会传回错误。它预设的限制时间是30秒,max_execution_time的值定义在结构档案中(在PHP3中叫做php3.ini,在PHP4则叫做php.ini),如果将秒数设为0,表示无时间上的限制。
当呼叫此函式时,set_time_limit( )会从零重新开始计算最长执行的时间,也就是说,如果最长执行时间为预设的30秒,而在呼叫此函式set_time_limit(20)之前已花了25秒来执行程式,则程式最长执行的时间将会是45秒。
注意 : 当PHP是执行在安全模式时,set_time_limit( )将不会有结果,
除非是关闭安全模式或是修改结构档案中(在PHP3中叫做php3.ini,在PHP4则叫做php.ini)的时间限制。
最后面的补充说明是针对程序员的,普通站长如果看不懂的话,可以直接跳过,掌握好最前面的3中解决办法就可以了,原理什么的能理解就理解,理解不了,也无所谓。
以上就是错误Fatal error: Maximum execution time of 30解决办法的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持错新网。
评论列表()