[筆記] 延長PHP | php-fpm nginx
Laravel或是一般PHP專案上常會遇到執行時間超時的問題,例如遇到了PHP超過執行時間上限的錯誤:production.ERROR:Maximumexecutiontimeof30secondsexceeded或是遇到NGINX的超時錯誤:504GatewayTime-out是因為PHP和NGINX預設最長執行時間都是30秒,我們可以修改設定來延長它們。這裡我們延長到Apache、IIS慣例的5分鐘。這個主題其實很多人寫了,但是資訊有點零散,乾脆自己再寫一篇方便以後找。(感覺就是很常會改啊)PHP:延長max_execution_timePHP的runtime設定中的max_execution_time參數可以指定腳本被parser中止之前允許的最大執...
Laravel 或是一般 PHP 專案上常會遇到執行時間超時的問題,例如遇到了 PHP 超過執行時間上限的錯誤:
production.ERROR: Maximum execution time of 30 seconds exceeded或是遇到 NGINX 的超時錯誤:
504 Gateway Time-out是因為 PHP 和 NGINX 預設最長執行時間都是 30 秒,我們可以修改設定來延長它們。這裡我們延長到 Apache、IIS 慣例的 5 分鐘。
這個主題其實很多人寫了,但是資訊有點零散,乾脆自己再寫一篇方便以後找。(感覺就是很常會改啊)
PHP: 延長 max_execution_timePHP 的 runtime 設定中的 max_execution_time 參數可以指定腳本被 parser 中止之前允許的最大執行時間,預設值是 30 秒。我們可以透過修改 php.ini 指定為 300 秒。
修改 php.ini以 PHP 7.2 為例,php.ini 的位置預設是在 /etc/php/7.2/cli/php.ini。php.ini 的位置可以經由 php -i 指令查詢的到。順帶一提,PHPBrew 使用者可以透過 phpbrew config 指令直接開啟當前版本對應的 php.ini。
max_execution_time = 300 重新啟動 PHP-FPM修改完成後,需要重新啟動 PHP-FPM。
phpbrew fpm restart sudo service php7.2-fpm restart sudo systemctl restart php-fpm NGINX: 延長 fastcgi_read_timeoutNGINX 的部分則是透過 fastcgi_read_timeout 這個參數來決定 PHP FastCGI Server(PHP-FPM)的 Response 時間限制,預設是 30 秒,我們也把它改成 300 秒。
修改 nginx.conf這裡我們直接在 /etc/nginx/nginx.conf 的 http 內容區塊中設定,就會套用到所有站點。你也可...