在Ubuntu上解決PHP-FPM超時問題,可以通過修改PHP-FPM配置文件、重啟PHP-FPM服務、檢查Nginx配置(如果使用Nginx)以及檢查防火墻設置等方法來實現。以下是詳細的步驟:
找到PHP-FPM的配置文件:通常位于 /etc/php/{版本號}/fpm/pool.d/www.conf
,例如,如果你的PHP版本是7.4,那么配置文件可能位于 /etc/php/7.4/fpm/pool.d/www.conf
。
使用文本編輯器打開配置文件:例如,使用 nano
編輯器:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
調整超時參數:
request_terminate_timeout
:設置請求超時時間。例如,設置為300秒:request_terminate_timeout = 300s
fastcgi_read_timeout
:設置FastCGI讀取超時時間。例如,設置為300秒:fastcgi_read_timeout = 300s
保存并關閉文件。
在修改了配置文件后,需要重啟PHP-FPM服務以使更改生效:
sudo systemctl restart php{版本號}-fpm
將 {版本號}
替換為你的PHP版本號,例如 php7.4-fpm
。
如果你使用Nginx作為Web服務器,請確保Nginx的配置文件中的 fastcgi_pass
指令指向正確的PHP-FPM監聽地址和端口。例如:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
根據你的實際情況進行調整,然后重啟Nginx服務:
sudo systemctl restart nginx
確保防火墻允許PHP-FPM服務的通信。如果使用UFW防火墻,請運行以下命令允許PHP-FPM的默認端口(通常是9000):
sudo ufw allow 9000
通過以上步驟,可以有效解決Ubuntu上的PHP-FPM超時問題。如果問題仍然存在,請檢查應用程序代碼以確保沒有長時間運行的操作或死循環。