詳解php.ini超時時間的設定方法

PHPz
發布: 2023-04-11 14:01:08
原創
1132 人瀏覽過

在使用 PHP 執行長時間運行的腳本時,我們經常遇到腳本運行時間過長的問題。當腳本運行時間超過預定的時間限制時,PHP 會自動終止腳本的執行,並傳回錯誤訊息。這個時間限制就是 PHP 的超時時間(timeout)。預設情況下,PHP 的超時時間是 30 秒。對於一些需要大量計算或處理的腳本來說,這個時限可能遠遠不夠,需要手動設定更長的超時時間。

以下介紹在 php.ini 檔案中設定逾時時間的方法。

  1. 找到php.ini 檔案的位置

在Linux 系統中,可以使用下列指令來尋找php.ini 檔案的位置:

php -i | grep php.ini
登入後複製

指令執行後會顯示php.ini 檔案的路徑,例如:

Configuration File (php.ini) Path => /usr/local/php7/lib
Loaded Configuration File => /usr/local/php7/lib/php.ini
登入後複製

在Windows 系統中,可以使用搜尋工具尋找php.ini 檔案。

  1. 開啟 php.ini 檔案

使用文字編輯器開啟 php.ini 檔案。注意:php.ini 檔案通常是系統層級的設定文件,需要管理員權限。

  1. 找到並修改以下兩個設定項
; Maximum amount of time each script may spend parsing request data.
; Default: 60
; Change: 600
max_input_time = 600

; Maximum execution time of each script, in seconds
; Default: 30
; Change: 300
max_execution_time = 300
登入後複製

一般情況下,修改以上兩個設定項目即可將 PHP 逾時時間設為 10 分鐘。其中,

  • max_input_time 指 PHP 腳本最大的運行時間,以秒為單位。在這個時間內,腳本的輸入資料必須被解析完畢。
  • max_execution_time 指 PHP 腳本的最大執行時間,以秒為單位。在這個時間內,腳本必須執行完畢,否則 PHP 引擎將終止腳本的執行。

要注意的是,max_execution_time 的設定不能超過 PHP-FPM、Web 伺服器、作業系統等其他元件的限制。如果這些組件的限制時間較短,那麼逾時時間也會被限制在更短的時間內。

  1. 儲存並重新啟動 PHP

修改完 php.ini 檔案後,儲存並重新啟動 PHP。

在 Linux 系統中可以使用命令:

sudo systemctl restart php-fpm
登入後複製

在 Windows 系統中可以在命令列中輸入:

iisreset
登入後複製

或者,在服務管理員中重新啟動 IIS 服務。

經過以上操作,我們就可以將 PHP 的逾時時間設定為我們需要的時間了。當然,設定太長的超時時間也會對伺服器的效能帶來一定壓力,需要根據實際情況和需求進行合理設定。

以上是詳解php.ini超時時間的設定方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板