在 Ubuntu 上 php-fpm 宕机(进程退出 / 不响应) 是非常常见的问题,通常不是“php 本身坏了”,而是资源、配置或依赖异常。下面按最常见原因 → 排查方法 → 解决方案来说明。
最常见
表现:
systemctl status php-fpm 显示 failed查看是否被系统杀掉:
dmesg | grep -i "killed process"
或
grep -i "out of memory" /var/log/syslog
✅ 解决:
pm.max_childrenmemory_limit)修改配置后未测试直接重启。
检查配置:
php-fpm8.1 -t
(版本按你实际,如 php-fpm7.4)
✅ 解决:
www.confuser / group / listenNginx / Apache 连不上 php-fpm。
常见错误:
connect() to unix:/run/php/php8.1-fpm.sock failed
检查:
ls -l /run/php/
✅ 解决:
www-data表现:
pool www exhausted
www.conf 关键参数:
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
✅ 解决:
max_children ≈ 总内存 / 单进程内存
查看:
tail -f /var/log/php8.1-fpm.log
✅ 解决:
max_execution_timesystemctl is-enabled php8.1-fpm
✅ 解决:
systemctl enable php8.1-fpm
# 1. 看服务状态
systemctl status php8.1-fpm
# 2. 看错误日志
journalctl -u php8.1-fpm -n 50
tail -n 100 /var/log/php8.1-fpm.log
# 3. 看是否被 OOM
dmesg | grep -i oom
# 4. 检查配置
php-fpm8.1 -t
# 5. 看资源
free -h
top
你可以直接贴出:
我可以直接帮你定位是哪一条原因 + 给具体修改方案。