Ubuntu 下 PHP-FPM 报错 的原因很多,常见集中在 配置错误、端口/套接字冲突、权限问题、PHP 版本不匹配 等。下面我按最常见场景给你一个排查清单,并附上典型报错 + 解决方法。你可以对照看看。
connect() to unix:/run/php/php-fpm.sock failed (No such file or directory)原因
排查
ls /run/php/
解决
sudo systemctl start php-fpm
# 或指定版本
sudo systemctl start php8.2-fpm
Nginx 配置应匹配:
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
Address already in use / unable to bind listening socket原因
解决
sudo systemctl stop php8.2-fpm
sudo systemctl start php8.2-fpm
或检查端口:
ss -lntp | grep 9000
ERROR: failed to open configuration file原因
排查
sudo php-fpm8.2 -t
✅ 正常应显示:
configuration file /etc/php/8.2/fpm/php-fpm.conf test is successful
Permission denied(sock 文件)典型报错
connect() to unix:/run/php/php8.2-fpm.sock failed (13: Permission denied)
原因
解决 编辑:
sudo vim /etc/php/8.2/fpm/pool.d/www.conf
确认:
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
然后:
sudo systemctl restart php8.2-fpm
unknown entry 'php_value' 或 php_admin_value原因
错误示例
php_value upload_max_filesize 20M
解决 改为:
php_admin_value[upload_max_filesize] = 20M
现象
查看已安装版本
ls /etc/php/
查看运行状态
systemctl status php*-fpm
# 1. 查看 PHP-FPM 状态
systemctl status php8.2-fpm
# 2. 查看错误日志
tail -n 50 /var/log/php8.2-fpm.log
# 3. 查看 Nginx 错误日志
tail -n 50 /var/log/nginx/error.log
# 4. 测试配置
php-fpm8.2 -t
| 项目 | 路径 |
|---|---|
| PHP-FPM 配置 | /etc/php/*/fpm/ |
| Pool 配置 | /etc/php/*/fpm/pool.d/www.conf |
| sock 文件 | /run/php/php*-fpm.sock |
| 错误日志 | /var/log/php*-fpm.log |
| Nginx 站点 | /etc/nginx/sites-enabled/ |
你可以直接贴出:
php -v)systemctl status php-fpm 输出我可以 精确告诉你哪一行配置错了 ✅