在Ubuntu上,如果PHP-FPM連接超時,可以嘗試以下方法來解決問題:
找到PHP-FPM的配置文件php-fpm.conf
或www.conf
,通常位于/etc/php/{版本號}/fpm/
目錄下。例如,如果你的PHP版本是7.4,那么配置文件可能位于/etc/php/7.4/fpm/
。
使用文本編輯器打開www.conf
文件,找到以下參數并進行調整:
request_terminate_timeout
:這個參數用于設置請求超時時間。你可以將其設置為一個較大的值,例如300(單位:秒)。修改后保存并關閉文件。request_terminate_timeout = 300s
fastcgi_read_timeout
:這個參數用于設置FastCGI讀取超時時間。你可以將其設置為一個較大的值,例如300(單位:秒)。修改后保存并關閉文件。fastcgi_read_timeout = 300
在修改了配置文件后,需要重啟PHP-FPM服務以使更改生效。在終端中運行以下命令:
sudo systemctl restart php{版本號}-fpm
將{版本號}
替換為你的PHP版本號。例如,對于PHP 7.4,命令如下:
sudo systemctl restart 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;
}
在這個例子中,fastcgi_pass
指向了UNIX套接字/run/php/php7.4-fpm.sock
。請根據你的實際情況進行調整。
修改Nginx配置文件后,運行以下命令重啟Nginx服務:
sudo systemctl restart nginx
確保防火墻允許PHP-FPM服務的通信。如果使用UFW防火墻,請運行以下命令允許PHP-FPM的默認端口(通常是9000):
sudo ufw allow 9000
完成以上步驟后,PHP-FPM連接超時問題應該得到解決。如果問題仍然存在,請檢查應用程序代碼以確保沒有長時間運行的操作或死循環。