温馨提示×

怎么调试debian php

小樊
35
2026-09-17 07:14:40
栏目: 编程语言

在 Debian 上“调试 PHP”通常分几种场景,下面按最常见需求给你一个清晰路线图,你可以对照用。


一、先确认 PHP 环境

php -v
which php

如果是 Web 用,确认是:

  • Apache(libapache2-mod-php)
  • 还是 Nginx + PHP-FPM
systemctl status php*-fpm

二、开启错误显示(最常用)

1️⃣ 临时调试(脚本里)

ini_set('display_errors', 1);
error_reporting(E_ALL);

2️⃣ 修改 php.ini(推荐)

找到 php.ini:

php --ini

常见位置:

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

修改:

display_errors = On
error_reporting = E_ALL
log_errors = On

改完重启:

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

三、查看错误日志(非常重要)

PHP 错误日志

error_log = /var/log/php_errors.log
tail -f /var/log/php_errors.log

Web 服务器日志

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

四、命令行调试 PHP

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

五、用 Xdebug 断点调试(开发推荐)

1️⃣ 安装

apt install php-xdebug

2️⃣ 配置(示例)

zend_extension=xdebug
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

3️⃣ 配合编辑器

  • VS Code(PHP Debug 插件)
  • PHPStorm

六、性能 / 运行问题调试

php -m            # 看加载模块
phpinfo();        # 看配置
strace php file.php

七、常见坑速查

  • 改了 php.ini 没重启 ❌
  • CLI 和 FPM 用的是不同 php.ini ❌
  • 权限问题导致日志写不进去 ❌

如果你能告诉我:

  • ✅ Debian 版本
  • ✅ PHP 版本
  • ✅ 是 CLI / Apache / Nginx
  • ✅ 具体报错或现象

我可以直接给你针对性命令。

0 踩