解決Ubuntu PHP日志中超時問題可從配置、代碼、服務器優化三方面入手,具體方法如下:
調整PHP配置
php.ini
文件,增加max_execution_time
(腳本最大執行時間,默認30秒)和default_socket_timeout
(socket連接超時時間,默認60秒)。/etc/php/{version}/fpm/pool.d/www.conf
,設置request_terminate_timeout
(請求終止超時時間,默認0無限制)和fastcgi.read_timeout
。修改后需重啟PHP-FPM服務:sudo systemctl restart php{version}-fpm
。優化代碼邏輯
調整Web服務器配置
fastcgi_read_timeout
和fastcgi_send_timeout
(默認60秒),確保與PHP超時設置一致。sudo systemctl restart nginx
。監控與日志分析
php.ini
或PHP-FPM配置中設置slowlog
路徑和request_slowlog_timeout
),定位超時代碼段。注意:設置超時時間需結合業務需求,避免過長占用服務器資源。優先通過代碼優化減少超時,配置調整僅為臨時解決方案。