温馨提示×

ubuntu php-fpm如何开启调试

小樊
39
2026-10-21 22:29:25
栏目: 编程语言

在 Ubuntu 上给 PHP-FPM 开启调试,一般分几种常见场景。下面按最常用方式给你说明,你可以按需选择。


一、开启 PHP 错误显示(最基础调试)

1️⃣ 修改 php.ini

先确认你用的是哪个 php.ini(php-fpm 通常单独一个)

php --ini
# 或
sudo nano /etc/php/8.1/fpm/php.ini

(版本号按你实际来,如 7.4 / 8.2)

修改以下配置:

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On

2️⃣ 重启 php-fpm

sudo systemctl restart php8.1-fpm

二、开启 PHP-FPM 慢日志(性能调试)

适合排查“请求卡死 / 响应慢”

编辑 php-fpm pool 配置:

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

添加或修改:

request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/slow.log

创建日志目录(如果不存在):

sudo mkdir -p /var/log/php-fpm
sudo chown www-data:www-data /var/log/php-fpm

重启:

sudo systemctl restart php8.1-fpm

查看慢日志:

tail -f /var/log/php-fpm/slow.log

三、开启 PHP-FPM 错误日志

在 www.conf 中:

catch_workers_output = yes
php_admin_value[error_log] = /var/log/php-fpm/php-error.log
php_admin_flag[log_errors] = on

重启后:

tail -f /var/log/php-fpm/php-error.log

四、使用 Xdebug(真正的“断点调试”)

1️⃣ 安装 Xdebug

sudo apt install php-xdebug

或指定版本:

sudo apt install php8.1-xdebug

2️⃣ 配置 Xdebug

编辑:

sudo nano /etc/php/8.1/fpm/conf.d/20-xdebug.ini

内容示例(Xdebug 3):

zend_extension=xdebug

xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.idekey=PHPSTORM

3️⃣ 重启 php-fpm

sudo systemctl restart php8.1-fpm

4️⃣ 配合 IDE

  • PHPStorm
  • VS Code(Xdebug + PHP Debug 插件)

五、快速验证是否生效

php -i | grep xdebug
php -i | grep display_errors

或写个测试文件:

<?php
echo "debug test";
error_reporting(E_ALL);
trigger_error("test error");

六、常见坑提醒 ⚠️

  • 生产环境不要开 display_errors
  • nginx 报 502 → 看 php-fpm 日志
  • CLI 和 FPM 是两套 php.ini

如果你能告诉我:

  • Ubuntu 版本
  • PHP 版本
  • 用的是 nginx 还是 apache
  • 是想“看错误”还是“断点调试”

我可以给你更精准的配置方案。

0 踩