“ubuntu 上 php-fpm 报错”这个原因非常多,不同报错信息对应不同问题。我先把最常见的原因和排查方法给你列出来,你对照看;如果方便,把具体报错内容贴出来,我可以精准帮你定位。
systemctl status php-fpm
# 或(Ubuntu 常见)
systemctl status php8.1-fpm
常见错误:
Failed to start The PHP FastCGI Process ManagerJob for php8.1-fpm.service failed✅ 解决:
sudo apt install php-fpm
sudo systemctl restart php8.1-fpm
Nginx 报错:
connect() to unix:/run/php/php8.1-fpm.sock failed
✅ 检查:
ls -l /run/php/
Nginx 配置应为:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
或修改 php-fpm 监听端口:
listen = 127.0.0.1:9000
sudo php-fpm8.1 -t
常见错误:
unknown directivemissing }✅ 修复 /etc/php/8.1/fpm/pool.d/www.conf
报错:
Permission denied
✅ 检查:
ps aux | grep php-fpm
用户应为:
www-data
✅ 修复:
sudo chown -R www-data:www-data /var/www
你可能装了:
✅ 查看:
php -v
ls /etc/php/
报错:
child exited with code 1
✅ 修改:
pm.max_children = 20
systemctl status php*-fpm
journalctl -xe | tail -50
php-fpm*-t
请贴出任意一个:
systemctl status php-fpm 输出/var/log/php8.1-fpm.log 内容我可以直接告诉你是哪一行配置错了。