php中set_time_limit()函數運用


當你的頁面有大量數據時,建議使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM