在php中默認腳本執行超時時間為30秒了,如果你未進行設置30秒之后如果你的腳本還未執行完就會超時了,下面我來給大詳解解決PHP腳本執行超時的方法。
php.ini 中缺省的最長執行時間是 30 秒,雖然可以通過調整 php.ini 中 max_execution_time的值來達到目的,但有些情況是沒有條件修改php.ini的,如何解決這個問題呢。
一種方法是在 PHP 腳本中加入如下代碼:
ini_set('max_execution_time', '0');//將運行時間設置成0(無限值);
另一種方法是在命令行下執行腳本,使用命令行執行腳本時,最大運行時間被設置為了無限值,修改php.ini的腳本執行時間限制,編輯php.ini,修改max_execution_time值:
max_execution_time=500 //此修改需要重新加載php.ini,需要重啟web服務器生效。
通過.htaccess 文件設置腳本執行時間:php_value max_execution_time 500
在腳本中設置執行的最大時間:ini_set('max_execution_time', 500);
用php的函數取消腳本的時間限制:set_time_limit(0);
set_time_limit用來設置腳本的超時時間,此函數規定從該句運行時起程序必須在指定秒數內運行結束,超時則程序出錯退出。
下面是一個例子,有10000條數據,要修改其中某些數據,運用PHP分步執行處理,代碼如下:action.php
其中的dosomething()是一個耗時操作,這里我們通過限制id范圍來減少運行時間,運行完后通過javascript的跳轉來自動運行下一步,現在dedecms生成html頁面時就是這樣做的哦。