温馨提示×

Debian PHP如何开启调试

小樊
38
2026-08-16 05:31:00
栏目: 编程语言

在 Debian 上开启 PHP 调试,通常分为几种常见场景。下面按最常用的情况给你一个清晰、可操作的说明。


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

1️⃣ 找到 php.ini

先确认你用的是哪个 php.ini

php --ini

常见路径:

  • CLI:/etc/php/8.x/cli/php.ini
  • Apache:/etc/php/8.x/apache2/php.ini
  • FPM:/etc/php/8.x/fpm/php.ini

8.x 换成你的 PHP 版本,例如 8.1、8.2


2️⃣ 修改 php.ini

编辑对应文件:

sudo nano /etc/php/8.x/apache2/php.ini

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

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

3️⃣ 重启服务

Apache

sudo systemctl restart apache2

Nginx + PHP-FPM

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

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

即使 display_errors 关闭,也可以看日志:

sudo tail -f /var/log/php_errors.log

如果文件不存在,可以手动创建:

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

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

这是断点调试、单步执行的标准方案。


1️⃣ 安装 Xdebug

sudo apt update
sudo apt install php-xdebug

确认安装:

php -v

应看到类似:

with Xdebug v3.x

2️⃣ 配置 Xdebug(Debian 12 / Xdebug 3)

编辑配置文件:

sudo nano /etc/php/8.x/mods-available/xdebug.ini

推荐配置(本地开发):

zend_extension=xdebug.so
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.x-fpm

4️⃣ IDE 配置(常见)

IDE 说明
VS Code 安装 PHP Debug 插件
PhpStorm 自动识别 Xdebug
NetBeans 启用 Xdebug

VS Code launch.json 示例:

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

四、CLI 模式下调试

CLI 默认不显示错误,可临时使用:

php -d display_errors=1 script.php

或:

php -l script.php   # 语法检查

五、快速检查是否生效

<?php
phpinfo();

浏览器访问,搜索:

  • display_errors
  • xdebug

六、常见坑

php.ini 改错版本
✅ Apache / FPM 没重启
error_log 没权限
✅ Xdebug 端口被防火墙拦截


七、我可以进一步帮你

你可以直接告诉我:

  • ✅ Debian 版本(11 / 12)
  • ✅ PHP 版本
  • ✅ Web 服务器(Apache / Nginx)
  • ✅ 想做哪种调试(看错误 / 断点调试)

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

0