解决php提示Maximum execution time of 30 seconds exceeded错误

如何解决错误?

基本上,有3种方法可以处理此错误:

  1. 修改php配置文件php.ini文件
  2. 使用 ini_set() 函数
  3. 使用set_time_limit()函数

1)修改php配置文件php.ini文件

找到php.ini文件并在此文件中找到它:

max_execution_time = 30 ;

在此行中,将数字30设置为所需的值(以秒为单位)。

也可直接修改为:

max_execution_time = 0; //无限制

请注意,修改后需要重新启动Linux服务器。

2)使用 ini_set() 函数

对于那些无法修改php.ini的新媒体人,可以使用ini_set()函数,来更改最大执行时间限制。

在程序顶部添加以下代码:

ini_set('max_execution_time','100');
  • 以上设置为100秒,你也可以将其设置为0,表示不限于执行时间。

3)使用set_time_limit() 函数

在程序的顶部添加:

set_time_limit(100);
  • 这表示最长执行时间设置为100秒。
  • 当然,参数也可以设置为0,意味着无限∞。

set_time_limit 函数说明:

void set_time_limit ( int $seconds )

此函数的功能是设置允许脚本运行的时间(以秒为单位)。

  • 如果超出此设置,脚本将返回致命错误。
  • 默认值为30秒,如果此值存在,则它是php.ini中max_execution_time中定义的值。
  • 调用此函数时,set_time_limit()将从零重新启动超时计数器。

换言之,如果超时默认为30秒,并且当脚本运行25秒时,调用set_time_limit(20),则脚本可以在超时之前运行总共45秒。

当php以安全模式运行时,此功能不起作用。

可以关闭安全模式:

  • php.ini中将safe_mode设置为off。
  • 或更改php.ini中的时间限制。
  • set_time_limit 实例

    如果未打开安全模式,安装程序将运行25秒。

    例如:

    <?php
    if(!ini_get('safe_mode')){
    set_time_limit(25);
    }