温馨提示×

Debian下PHP如何开启调试

小樊
40
2026-07-05 20:37:07
栏目: 编程语言

在 Debian 下开启 PHP 调试,通常分为 几种常见场景。下面按“由浅到深”给你一个完整、实用的说明。


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

1️⃣ 修改 php.ini

先找到你的 php.ini 位置:

php -i | grep "Loaded Configuration File"

常见路径:

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

编辑对应文件:

sudo nano /etc/php/8.2/apache2/php.ini

修改或取消注释以下内容:

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log

⚠️ 生产环境不建议开启 display_errors


2️⃣ 重启 Web 服务

Apache

sudo systemctl restart apache2

Nginx + PHP-FPM

sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx

二、查看 PHP 错误日志(推荐)

1️⃣ 创建日志文件

sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log

2️⃣ 查看日志

tail -f /var/log/php_errors.log

三、CLI 模式下调试 PHP

CLI 默认不输出 HTML,直接显示错误:

php -l test.php        # 语法检查
php test.php           # 直接运行

临时开启错误(脚本内):

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

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

1️⃣ 安装 Xdebug

sudo apt update
sudo apt install php-xdebug

确认安装:

php -v

应看到类似:

with Xdebug v3.x

2️⃣ 配置 Xdebug(Debian 12 / PHP 8.x)

编辑配置文件:

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

推荐配置(本地开发):

zend_extension=xdebug.so

[xdebug]
xdebug.mode=develop,debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.start_with_request=yes

3️⃣ 重启服务

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

4️⃣ 搭配 IDE 调试(VS Code 示例)

安装插件:

  • PHP Debug

launch.json 示例:

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

浏览器访问页面 → VS Code 打断点 ✅


五、常用调试函数(快速定位)

var_dump($var);
print_r($var);
var_export($var);

error_log(print_r($var, true));

六、生产环境建议 ✅

display_errors = Off
log_errors = On
error_reporting = E_ALL & ~E_NOTICE

七、快速对照表

场景 推荐方式
查看报错 开启 error_log
CLI 调试 php -l + var_dump
Web 调试 display_errors + 日志
断点调试 Xdebug + IDE

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

  • ✅ Debian 版本
  • ✅ PHP 版本
  • ✅ Apache / Nginx / CLI
  • ✅ 是否用 Docker

我可以给你 精确到命令级别 的配置方案。

0