在 Ubuntu 上,PHP-FPM 的“超时”通常涉及几个不同层面,需要根据你遇到的具体问题来设置。下面按常见场景说明。
编辑 PHP 配置文件(路径随版本不同):
sudo nano /etc/php/8.1/fpm/php.ini
修改或添加:
max_execution_time = 300 ; 单位:秒
max_input_time = 300
或在代码里临时设置:
set_time_limit(300);
修改后重启 PHP-FPM:
sudo systemctl restart php8.1-fpm
如果 PHP 脚本执行时间超过该值,PHP-FPM 会直接杀掉进程。
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
找到或添加:
request_terminate_timeout = 300s
重启:
sudo systemctl restart php8.1-fpm
✅ 这是“PHP-FPM 层面真正的超时”
如果你是 Nginx + PHP-FPM,还可能是 Nginx 超时。
sudo nano /etc/nginx/nginx.conf
或站点配置 /etc/nginx/sites-enabled/xxx
fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
proxy_read_timeout 300; # 如果用 proxy
重启 Nginx:
sudo systemctl restart nginx
; 空闲进程存活时间
pm.process_idle_timeout = 10s
一般不改。
如果你遇到:
request_terminate_timeout + fastcgi_read_timeoutmax_execution_time; php.ini
max_execution_time = 300
; www.conf
request_terminate_timeout = 300s
; nginx
fastcgi_read_timeout 300;
如果你能告诉我:
我可以给你精确配置。