温馨提示×

如何在Ubuntu调试PHP

小樊
43
2026-07-13 19:59:30
栏目: 编程语言

在 Ubuntu 上调试 PHP,常见方式包括 日志调试、Xdebug 断点调试、性能分析 等。下面按「从简单到专业」给你一套完整方案。


一、基础调试(不装额外工具)

1. 查看 PHP 错误日志

sudo tail -f /var/log/apache2/error.log
# 或
sudo tail -f /var/log/nginx/error.log

2. 开启 PHP 错误显示

编辑 php.ini

php -i | grep "Loaded Configuration File"

常见路径:

/etc/php/8.2/apache2/php.ini
/etc/php/8.2/fpm/php.ini

修改:

display_errors = On
error_reporting = E_ALL
log_errors = On

重启服务:

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

二、常用调试函数(快速定位问题)

<?php
echo "<pre>";
var_dump($data);
print_r($data);
var_export($data);
exit;

或:

error_log(print_r($data, true));

三、使用 Xdebug(推荐 ✅)

1. 安装 Xdebug

sudo apt update
sudo apt install php-xdebug

确认安装:

php -v

2. 配置 Xdebug

编辑:

sudo nano /etc/php/8.2/mods-available/xdebug.ini

示例配置(Xdebug 3):

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

重启:

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

3. 配置 VS Code(最常用)

安装插件

  • PHP Debug(by Felix Becker)

VS Code launch.json

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

使用方式

  1. 在代码打断点
  2. 浏览器访问页面
  3. VS Code 自动进入调试

四、命令行 PHP 调试

php -r "var_dump(phpinfo());"

或用 Xdebug:

export XDEBUG_SESSION=1
php your_script.php

五、性能调试(进阶)

1. Xdebug 性能分析

xdebug.mode=profile
xdebug.output_dir=/tmp/xdebug

生成 cachegrind 文件,用:

sudo apt install kcachegrind

2. 使用 Blackfire(生产级)

适合性能瓶颈分析,但需要注册账号。


六、常见调试场景速查

场景 推荐方式
快速看变量 var_dump / print_r
页面报错 错误日志
复杂逻辑 Xdebug + VS Code
性能问题 Xdebug profile
线上问题 error_log

七、示例:完整调试流程

# 1. 安装 Xdebug
sudo apt install php-xdebug

# 2. 配置
sudo nano /etc/php/8.2/mods-available/xdebug.ini

# 3. 重启
sudo systemctl restart apache2

# 4. VS Code 打断点调试

如果你愿意,可以告诉我:

  • ✅ 用的是 Apache / Nginx / PHP-FPM
  • ✅ Ubuntu 版本
  • ✅ 命令行还是 Web 调试
  • ✅ 是否用 VS Code / PHPStorm

我可以给你一套 完全贴合你环境的调试配置

0