在 Ubuntu 上修复 php-fpm 错误 通常需要先定位具体报错原因。下面我按常见场景 + 排查步骤 + 解决方案给你一个系统性的指南。

systemctl status php-fpm# 或(Ubuntu 常见)
systemctl status php8.1-fpm # 按你的版本
如果服务启动失败,重点看 红色报错信息。
journalctl -xeu php8.1-fpmtail -n 100 /var/log/php8.1-fpm.log常见路径:
/var/log/php8.1-fpm.log/var/log/php-fpm.log
错误示例
ERROR: unable to bind listening socket原因
解决
ps aux | grep php-fpmsudo killall php-fpm
sudo systemctl restart php8.1-fpm
或修改监听方式:
listen = /run/php/php8.1-fpm.sock错误示例
ERROR: failed to load configuration file检查配置
php-fpm8.1 -t修复
/etc/php/8.1/fpm/php-fpm.conf/etc/php/8.1/fpm/pool.d/www.conf常见错误:
;错误示例
ERROR: unable to set uid or gid解决
sudo groupadd www-datasudo useradd -g www-data www-data
或修改:
user = www-datagroup = www-data
错误示例
connect() to unix:/run/php/php8.1-fpm.sock failed (13: Permission denied)解决
listen.owner = www-datalisten.group = www-data
listen.mode = 0660
然后:
sudo systemctl restart php8.1-fpmsudo systemctl restart nginx
错误示例
PHP Startup: Unable to load dynamic library解决
sudo apt install php8.1-mysql php8.1-curl php8.1-mbstring错误示例
server reached pm.max_children/etc/php/8.1/fpm/pool.d/www.conf调整:
pm = dynamicpm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
# 1. 检查配置php-fpm8.1 -t
# 2. 重启服务
sudo systemctl restart php8.1-fpm
# 3. 查看错误
tail -f /var/log/php8.1-fpm.log
你可以直接把 完整报错信息 发给我,例如:
systemctl status php8.1-fpm或
journalctl -xeu php8.1-fpm我可以精准定位并给你最小修改方案