1. 程式人生 > 實用技巧 >解決php提示Maximum execution time of 30 seconds exceeded錯誤

解決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);
    }