php程序運行時報錯:Fatal error Maximum execution time of 30 seconds exceeded
php程序代碼執(zhí)行很長時間,然后出現(xiàn)以下錯誤提示:Fatal error: Maximum execution time of 30 seconds exceeded in ……
這意味著php執(zhí)行時間超過了30秒的限制。
處理此錯誤的解決辦法:
1.修改php配置文件php.ini文件2.使用 ini_set() 函數(shù)3.使用set_time_limit()函數(shù)
1)修改php配置文件php.ini文件
找到php.ini文件并在此文件中找到它:max_execution_time = 30 ;在此行中,將數(shù)字30設(shè)置為所需的值(以秒為單位)。
也可直接修改為:max_execution_time = 0; //無限制
修改后重啟php
2)使用 ini_set() 函數(shù)
對于那些無法修改php.ini或者只想臨時修改,可以使用ini_set()函數(shù),來更改最大執(zhí)行時間限制。
在程序頂部添加以下代碼:ini_set(‘max_execution_time’,’100′);
以上設(shè)置為100秒,你也可以將其設(shè)置為0,表示不限于執(zhí)行時間。
3)使用set_time_limit() 函數(shù)
在程序的頂部添加:set_time_limit(100);
這表示最長執(zhí)行時間設(shè)置為100秒。當(dāng)然,參數(shù)也可以設(shè)置為0,意味著無限。set_time_limit 函數(shù)說明:void set_time_limit ( int $seconds )此函數(shù)的功能是設(shè)置允許腳本運行的時間(以秒為單位)。
如果超出此設(shè)置,腳本將返回致命錯誤。默認(rèn)值為30秒,如果此值存在,則它是php.ini中max_execution_time中定義的值。調(diào)用此函數(shù)時,set_time_limit()將從零重新啟動超時計數(shù)器。換言之,如果超時默認(rèn)為30秒,并且當(dāng)腳本運行25秒時,調(diào)用set_time_limit(20),則腳本可以在超時之前運行總共45秒。
當(dāng)php以安全模式運行時,此功能不起作用。
可以關(guān)閉安全模式:
在php.ini中將safe_mode設(shè)置為off。或更改php.ini中的時間限制。
set_time_limit 實例
如果未打開安全模式,安裝程序?qū)⑦\行25秒。
例如:
php if(!ini_get('safe_mode')){ set_time_limit(25); }