切换到宽版
 
  • 469阅读
  • 2回复

经常出现Fatal error: Maximum execution time of 30 seconds exceeded,怎么回事? [复制链接]

上一主题 下一主题
在线同城在线
 

发帖
2422
好评度
4225
只看楼主 倒序阅读 使用道具 楼主  发表于: 2020-11-30
— 本帖被 同城在线 从 会员服务 移动到本区(2020-12-03) —

这个错误是说bai你的php执行时间越过了配置du文件中设置的最大执行时间30秒钟,zhi这不是你的程序本身存在的问dao题,而是系统的配置文件问题,如果你的网速快的话,可能再执行一次就不会出现这种错误了,不过有了出现这种问题也可以进行一定的修改,方法有三种:
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()将不会有结果,除非你用了第一种方法。
 
同城中国网 中国第一家B2C 020综合营销门户网站及电子商务平台
在线同城在线

发帖
2422
好评度
4225
只看该作者 沙发  发表于: 2020-12-01
解决办法:
在服务器中找到php.ini这个文件(c盘Windows的也要改)
修改max_execution_time = 30

max_execution_time = 30 ; 这个是每个脚本运行的最长时间,可以自己修改加长,单位秒
为:max_execution_time = 300

然后重起mysql服务

在运行里输入:

net stop MySQL 停止mysql服务
net start MySQL开始mysql服务器



//

有两个解决办法,一个是在空间服务器端修改php.ini,找到"max_execution_time = 30;"这里设置的是允许脚本执行的最长时间,单位是秒..改成60或120
另一个是 在userlogin.class.php 文件中添加如下代码:
set_time_limit(时间);   //0为无限制
我的是添加:
set_time_limit(60);   //0为无限制
 
同城中国网 中国第一家B2C 020综合营销门户网站及电子商务平台
在线同城在线

发帖
2422
好评度
4225
只看该作者 板凳  发表于: 2020-12-01
解决分析:

这个错误是说你的php 执行时间越过了配置文件中设置的最大执行时间30秒钟,这不是你的程序本身存在的问题,而 是系统的配置文件问题,如果你的网速快的话,可能再执行一次就不会出现这种错误了,不过 有了出现这种问题也可以进行一定的修改

方法有三种:

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()将不会有结果,除非你用了第一种方法。

以下是部分讲解:

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)的时间限制。

总结

以上就是这篇文章的全部内容,希望通过本文的内容能够解决大家所遇到的这个问题,对大家能有所帮助
 
同城中国网 中国第一家B2C 020综合营销门户网站及电子商务平台
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个