温馨提示×

怎么在Ubuntu调试PHP

小樊
35
2026-08-24 10:55:03
栏目: 编程语言

在 Ubuntu 上调试 PHP,常见方式取决于你是调试网站运行问题还是调试代码逻辑。下面按“从常用到进阶”给你一个完整指南。


一、基础环境确认

1. 确认 PHP 已安装

php -v

如果没有安装:

sudo apt update
sudo apt install php php-cli

如果是 Web 环境(Apache / Nginx):

sudo apt install php-fpm

二、最常用:查看 PHP 错误(第一步)

1. 开启错误显示(开发环境)

CLI 模式

php -d display_errors=1 -d error_reporting=E_ALL your_script.php

Web 模式(php.ini)

编辑:

php --ini | grep "Loaded Configuration File"

常见路径:

/etc/php/8.x/apache2/php.ini
/etc/php/8.x/fpm/php.ini

修改:

display_errors = On
error_reporting = E_ALL

重启服务:

sudo systemctl restart apache2
# 或
sudo systemctl restart php8.x-fpm

三、使用 error_log() + 日志调试(最实用)

PHP 代码

error_log("调试信息:" . print_r($data, true));

查看日志

Apache

tail -f /var/log/apache2/error.log

Nginx + PHP-FPM

tail -f /var/log/php8.x-fpm.log

适合生产环境


四、使用 Xdebug(专业级调试)

1. 安装 Xdebug

sudo apt install php-xdebug

确认:

php -v

看到 with Xdebug 即成功。


2. 配置 Xdebug(php.ini)

[xdebug]
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.start_with_request=yes

重启 PHP:

sudo systemctl restart php8.x-fpm

3. 配合 VS Code 调试(推荐)

安装插件

  • PHP Debug

VS Code launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Listen for Xdebug",
      "type": "php",
      "request": "launch",
      "port": 9003
    }
  ]
}

使用方式

  1. 设置断点
  2. 浏览器访问页面
  3. VS Code 自动停下

可以单步调试、查看变量、调用栈


五、CLI 脚本调试(命令行 PHP)

1. 直接打印(简单)

var_dump($var);
exit;

2. 使用 phpdbg

phpdbg your_script.php

常用命令:

b file.php:10   # 设置断点
r              # 运行
s              # 单步
p              # 打印变量

六、调试 PHP-FPM / Web 请求慢

1. 开启慢日志

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

2. 查看

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

七、常用调试工具总结

场景 推荐方式
快速定位问题 error_log + 日志
查看变量 var_dump / print_r
本地开发 Xdebug + VS Code
线上问题 日志 + 慢日志
CLI 脚本 phpdbg

八、我可以继续帮你

你可以直接告诉我:

  • ✅ 是 Apache / Nginx
  • ✅ 是 本地 / 服务器
  • ✅ 是 Web 请求 / CLI 脚本
  • ✅ 报错信息是什么?

我可以一步一步带你配置到能断点调试 ✅

0