在 Ubuntu 上 PHP-FPM 请求超时 通常表现为:
upstream timed out下面按 常见原因 → 对应解决方法 说明。
浏览器 → Nginx → PHP-FPM → PHP 脚本
超时可能发生在:
max_execution_time编辑站点配置:
sudo nano /etc/nginx/sites-available/default
在 location ~ \.php$ 或 server 块中加入:
fastcgi_read_timeout 300;
proxy_read_timeout 300;
client_body_timeout 300;
client_header_timeout 300;
send_timeout 300;
重启 Nginx:
sudo systemctl restart nginx
✅ 适合:导出、报表、批量处理等慢请求
找到你的 PHP 版本(如 8.1):
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
调整以下参数:
request_terminate_timeout = 300s
request_slowlog_timeout = 10s
slowlog = /var/log/php-fpm-slow.log
重启 PHP-FPM:
sudo systemctl restart php8.1-fpm
sudo nano /etc/php/8.1/fpm/php.ini
修改:
max_execution_time = 300
max_input_time = 300
memory_limit = 512M
重启 PHP-FPM。
set_time_limit(300);
ini_set('max_execution_time', 300);
如果是 Apache:
sudo nano /etc/apache2/mods-enabled/fcgid.conf
增加:
FcgidIOTimeout 300
FcgidConnectTimeout 300
重启 Apache:
sudo systemctl restart apache2
tail -f /var/log/php-fpm-slow.log
tail -f /var/log/nginx/error.log
✅ 不要盲目调大超时
✅ 耗时任务用:
php artisan queue:work 等)✅ Web 请求尽量 < 30s
Nginx + PHP-FPM
fastcgi_read_timeout 120;
request_terminate_timeout = 120s
max_execution_time = 120
如果你愿意,可以告诉我:
我可以给你精确配置。