如何解決錯誤?
基本上,有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); }