Ubuntu下PHP代码调试指南(以Xdebug+Visual Studio Code为例)
通过Ubuntu包管理器快速安装Xdebug(适配当前PHP版本):
sudo apt-get update
sudo apt-get install php-xdebug
安装完成后,Xdebug会自动集成到PHP环境中,无需手动指定扩展路径(系统会自动识别xdebug.so的位置)。
PHP的配置文件路径因运行模式(CLI/WEB)而异,通过以下命令快速定位:
php --ini
输出结果会显示Loaded Configuration File(如/etc/php/8.2/apache2/php.ini或/etc/php/8.2/cli/php.ini),需分别配置以确保CLI和WEB模式均生效。
在php.ini文件末尾添加以下配置(关键参数说明见注释):
[Xdebug]
; 启用Xdebug扩展
zend_extension=xdebug.so
; 设置调试模式为"debug"(支持断点、变量查看等功能)
xdebug.mode=debug
; 指定IDE监听的主机地址(本地调试设为127.0.0.1)
xdebug.client_host=127.0.0.1
; 指定IDE监听的端口(默认9003,避免与旧版Xdebug冲突)
xdebug.client_port=9003
; 自动启动调试会话(无需手动触发,访问页面即进入调试)
xdebug.start_with_request=yes
; 可选:设置IDE标识(如PHPStorm用"PHPSTORM",VS Code可自定义)
xdebug.idekey=VSCODE
⚠️ 注意:若使用PHP-FPM,需重启PHP-FPM服务;若使用Apache,需重启Apache服务。
配置生效后,需重启对应服务使Xdebug生效:
sudo systemctl restart apache2
sudo systemctl restart php8.2-fpm # 替换为你的PHP版本
sudo systemctl restart nginx
打开VS Code扩展市场(左侧边栏Extensions图标),搜索PHP Debug(作者:Felix Becker),点击Install安装。
Run and Debug图标(或按Ctrl+Shift+D);create a launch.json file,选择PHP;launch.json中,替换为以下配置(适配Xdebug的9003端口和项目路径):{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}" // 将服务器路径映射到本地项目目录
}
}
]
}
⚠️ 注意:
pathMappings需根据实际项目路径调整(如/var/www/html是服务器上的项目目录,${workspaceFolder}是本地的VS Code项目目录)。
F9)设置断点;Run and Debug面板的绿色三角形(或按F5),选择Listen for Xdebug;http://localhost/test.php),代码执行到断点时会自动暂停;Variables面板;F10(步入)、F11(步出)、Shift+F11(跳出);F5。xdebug.start_with_request=yes是否开启,pathMappings是否正确,以及IDE是否监听了正确端口(9003);php.ini中的xdebug.client_port(如改为9004),并同步更新IDE配置;php -m | grep xdebug,若无输出则说明扩展未加载,需检查php.ini中的zend_extension路径是否正确。