温馨提示×

ubuntu php-fpm为啥报错

小樊
38
2026-10-16 02:53:27
栏目: 编程语言

“ubuntu 上 php-fpm 报错”这个原因非常多,不同报错信息对应不同问题。我先把最常见的原因和排查方法给你列出来,你对照看;如果方便,把具体报错内容贴出来,我可以精准帮你定位。


一、最常见 php-fpm 报错原因(Ubuntu)

1️⃣ php-fpm 服务没启动 / 启动失败

systemctl status php-fpm
# 或(Ubuntu 常见)
systemctl status php8.1-fpm

常见错误:

  • Failed to start The PHP FastCGI Process Manager
  • Job for php8.1-fpm.service failed

✅ 解决:

sudo apt install php-fpm
sudo systemctl restart php8.1-fpm

2️⃣ 端口 / socket 配置错误(Nginx + php-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

3️⃣ php-fpm 配置文件语法错误

sudo php-fpm8.1 -t

常见错误:

  • unknown directive
  • missing }

✅ 修复 /etc/php/8.1/fpm/pool.d/www.conf


4️⃣ 权限问题(www-data)

报错:

Permission denied

✅ 检查:

ps aux | grep php-fpm

用户应为:

www-data

✅ 修复:

sudo chown -R www-data:www-data /var/www

5️⃣ PHP 版本和命令不匹配

你可能装了:

  • php 8.1
  • 但用的是 php-fpm 7.4

✅ 查看:

php -v
ls /etc/php/

6️⃣ 内存 / 子进程过多

报错:

child exited with code 1

✅ 修改:

pm.max_children = 20

二、快速自检命令(推荐你直接跑)

systemctl status php*-fpm
journalctl -xe | tail -50
php-fpm*-t

三、你可以这样补充信息(我就能直接定位)

请贴出任意一个:

  1. systemctl status php-fpm 输出
  2. Nginx 报错信息
  3. /var/log/php8.1-fpm.log 内容
  4. 你用的 Ubuntu + PHP 版本

我可以直接告诉你是哪一行配置错了。

0 踩