Xdebug是一款功能强大的PHP调试和分析工具,可以帮助我们分析和优化PHP应用程序。它支持逐步调试、性能测量和堆栈跟踪等功能,使故障排除变得更加容易,并提供对代码的更好洞察。以下是在 VSCode 中使用的小型设置指南。
安装Xdebug
作为示例,我们在当前的 Ubuntu 系统上安装 Xdebug:
sudo apt-get install -y php8.4-xdebug
最后,我们创建一个临时目录,用于以后存储分析和跟踪数据:
mkdir -p /tmp/xdebug
配置Xdebug
安装完成后,我们配置Xdebug。为此,我们编辑它 zh-cn/php.ini:
vi /etc/php/8.4/fpm/conf.d/custom.ini
以下是合理的基本配置:
[xdebug]
; mode (see: https://xdebug.org/docs/all_settings#mode)
; reasonable default
xdebug.mode=debug,profile
; disabled
;xdebug.mode=off
; step debugging
;xdebug.mode=debug
; performance profiling (be aware of load/space)
;xdebug.mode=profile
; trace profiling (record args)
;xdebug.mode=trace
; starting mode
; always (not recommended)
;xdebug.start_with_request=yes
; only when specific get parameters / cookies are set
; (?XDEBUG_TRIGGER=1, ?XDEBUG_PROFILE=1, ?XDEBUG_TRACE=1, ?XDEBUG_SESSION=1)
; this is best in conjunction with Chrome extension "Xdebug helper"
xdebug.start_with_request=trigger
; folder for analyzing profile dumps
xdebug.output_dir="/tmp/xdebug"
; not needed, since it is already in /etc/php/8.4/fpm/conf.d/20-xdebug.ini
;zend_extension=xdebug.so
进行这些调整后,我们重新启动 PHP-FPM 以应用更改:
sudo service php8.4-fpm restart
配置 VSCode
要在 Visual Studio Code 中使用 Xdebug,需要两个扩展和配置调整。我们安装这个:
最后我们在待分析项目的.vscode文件夹下创建launch.json配置文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
安装 Chrome 扩展程序
Xdebug 帮助程序扩展已证明可以在浏览器中进行灵活的调试。这使得仅在必要时才启用或禁用 Xdebug 成为可能。您还可以轻松更改调试模式(例如,从调试切换到分析):
配置 WordPress
在 WordPress 环境中使用 Xdebug 时,在调试会话处于活动状态时禁用 cron 作业中的调试可能会很有用。这使得调试请求变得更加容易。为此,请将以下行添加到: wp-config.php
一个:
// disable wp cron on xdebug sessions
if (function_exists('xdebug_is_debugger_active') && xdebug_is_debugger_active()) {
define('DISABLE_WP_CRON', true);
}
通过此配置,我们拥有了强大的设置,使我们能够精确地解决复杂的调试问题。无论是查找顽固的错误还是微调性能问题 - Xdebug 不仅使工作更加高效,而且还通过对代码的控制和清晰度为开发带来了新的质量。