解決php提示Maximum execution time of 30 seconds exceeded錯誤
阿新 • • 發佈:2020-11-02
如何解決錯誤?
基本上,有3種方法可以處理此錯誤:
- 修改php配置檔案php.ini檔案
- 使用 ini_set() 函式
- 使用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); }