Xdebug安装后在VS Code无法调试,调用栈无内容求助
解决XAMPP环境下VS Code中Xdebug调试无调用栈问题
一、修复php.ini的Xdebug配置
你的php.ini包含Xdebug 2的过时参数,会引发配置警告并干扰Xdebug 3的正常运行,替换为以下Xdebug 3标准配置:
[XDebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll" xdebug.mode=debug xdebug.start_with_request=yes xdebug.client_host=localhost xdebug.client_port=9003 xdebug.discover_client_host=false
- 移除
xdebug.remote_enable:该参数在Xdebug 3中已被xdebug.mode替代 - 改用
localhost作为client_host:本地XAMPP环境无需Docker相关地址 - 明确指定
client_port=9003:与Xdebug 3默认端口及VS Code配置保持一致 - 关闭
discover_client_host:本地环境下无需自动发现主机,避免连接异常
二、修正VS Code的launch.json配置
当前launch.json包含冗余的旧版本配置,且路径映射适配Docker环境,调整为本地XAMPP专属配置:
{ "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003, "pathMappings": { "C:/xampp/htdocs": "${workspaceFolder}" } }, { "name": "Launch XAMPP Script", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 9003, "runtimeArgs": [ "-dxdebug.mode=debug", "-dxdebug.start_with_request=yes" ] } ] }
- 保留核心调试配置,移除无用的Legacy及Chrome相关项
- 修正
pathMappings:将XAMPP的htdocs目录映射到VS Code工作区,确保断点路径匹配 - 统一使用Xdebug 3参数,避免版本冲突
三、验证Xdebug加载状态
- 重启XAMPP的Apache服务
- 在CMD执行
php -v,确认输出包含Xdebug信息且无配置警告 - 可在
htdocs目录创建phpinfo.php,访问后查看Xdebug模块配置是否生效
四、调试操作步骤
- 在VS Code中打开目标PHP文件,点击行号左侧设置断点
- 选择
Listen for Xdebug配置并启动调试 - 在浏览器访问对应PHP页面,或使用
Launch XAMPP Script直接运行脚本 - 此时VS Code应触发断点,调用栈、变量面板将正常显示内容
内容的提问来源于stack exchange,提问作者Tarun Patel
相关产品推荐
相关产品推荐

