在 Ubuntu 上 php-fpm 报错 的原因有很多种,不能一概而论,需要先看具体报错信息。不过我可以按常见场景给你一个排查清单,你对照一下基本就能定位。
systemctl status php-fpm
# 或(Ubuntu 常见)
systemctl status php8.1-fpm
常见错误:
Failed to start The PHP FastCGI Process ManagerAddress already in use✅ 解决:
journalctl -xeu php8.1-fpm
看具体错误
php-fpm 有两种方式:
listen = 127.0.0.1:9000
listen = /run/php/php8.1-fpm.sock
如果你用 Nginx:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
❌ 常见错误:
connect() to unix:/run/php/php8.1-fpm.sock failed (No such file or directory)Permission denied✅ 解决:
ls -l /run/php/
确保 socket 存在,并且 Nginx 用户(www-data)有权限
Ubuntu 常装多个 PHP:
ls /etc/php/
你可能:
✅ 解决:
systemctl restart php8.1-fpm
php-fpm8.1 -t
常见错误:
unknown directivemissing semicolonphp-fpm 默认用户:
user = www-data
group = www-data
如果网站目录权限不对:
chown -R www-data:www-data /var/www/html
错误日志中常见:
pool www exhaustedcannot fork✅ 修改:
pm.max_children = 50
pm.start_servers = 10
请把下面任意一个信息贴出来,我可以直接告诉你原因:
php -v
systemctl status php8.1-fpm
journalctl -xeu php8.1-fpm
php-fpm8.1 -t
tail -n 50 /var/log/php8.1-fpm.log
如果你愿意,把报错原文直接贴出来,我可以一步到位告诉你怎么修 ✅