當你的頁面有大量數據時,建議使用set_time_limit()來控制運行時間,默認是30s,所以需要你將執行時間加長點。
如 set_time_limit(800) ,其中將秒數設為0 ,表示持續運行到程序結束。如果要停止運行只能重啟php-fpm(文章后面附有重啟命令)
如:set_time_limit(0)表示持續運行到程序結束,但這個函數有些在window環境下有些人設置不成功,Linux下也可能會出現問題的,做好在邏輯代碼加上try catch避免異常。
注意:這個函數的運行需要你關閉安全模式,在php.ini中將safe_mode = Off 安全模式設置為Off,否則將會出現下面錯誤:
Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in
ps:在php.ini可以通過定義max_execution_time來設置PHP頁面的最大執行時間。
在phpinfo()輸出內容可以看到php相關配置。
Loaded Configuration File /etc/php.ini
set_time_limit(800);
這個函數指定了當前所在php腳本的最大執行時間為800秒,實際上
最大執行時間=php.ini里的max_execution_time數值 - 當前腳本已經執行的時間 + 設定值
假如php.ini里的max_execution_time=30,當前腳本已經執行5秒,則:
最大執行時間=30-5+800=825秒。
查看php運行目錄命令:
which php
/usr/bin/php
查看php-fpm進程數:
ps aux | grep -c php-fpm
查看運行內存
/usr/bin/php -i|grep mem
重啟php-fpm
/etc/init.d/php-fpm restart