VSCode配置Xdebug:pathMapping设置方法求助
用pathMapping替代弃用的localSourceRoot配置VSCode PHP调试
别担心,我来一步步帮你搞定这个配置问题,适配你的Desktop Server环境~
首先,VSCode的PHP调试插件(PHP Debug)已经弃用了localSourceRoot,改用pathMapping是因为它更灵活,可以同时映射多个路径(如果你的项目有多个目录需要对应),而不只是单一的根目录。
什么是pathMapping?
pathMapping是一个键值对对象,其中:
- 键:是服务器端的代码路径(比如网站的文档根目录,或者某个子目录的绝对路径)
- 值:是本地电脑上对应的代码目录的绝对路径
针对你的Desktop Server环境的配置示例
首先打开VSCode的调试配置文件(.vscode/launch.json),把原来的localSourceRoot替换成pathMapping。假设你的站点代码放在C:\Users\你的用户名\DesktopServer\sites\你的站点名称,配置应该像这样:
{ "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9000, "pathMapping": { "/": "C:/Users/你的用户名/DesktopServer/sites/你的站点名称" } } ] }
关键说明:
- 这里的
"/"对应服务器的文档根目录(也就是你通过http://localhost/访问到的文件目录),如果你站点的根在服务器上是/mysite,那键就改成"/mysite",值还是本地的对应路径。 - Windows路径记得用正斜杠
/或者双反斜杠\\,避免转义问题。
配合你的Xdebug 2.2.5配置(重要!)
因为你的Xdebug版本比较老,要确保php.ini里的配置正确,这样VSCode才能和Xdebug通信:
xdebug.remote_enable = On xdebug.remote_autostart = On xdebug.remote_host = 127.0.0.1 xdebug.remote_port = 9000 xdebug.remote_handler = dbgp
Desktop Server的php.ini一般可以在软件的设置里找到,或者直接搜索php.ini文件所在位置,修改后重启Desktop Server生效。
测试配置的小技巧
- 在你的PHP代码里设置一个断点(比如在
index.php的开头) - 启动VSCode的调试器(选择刚才配置的"Listen for Xdebug")
- 在浏览器里访问你的站点(比如
http://localhost/) - 如果VSCode命中断点,说明配置成功;如果没命中,检查:
pathMapping的路径是否和实际文件路径完全一致- Xdebug的端口(9000)是否和VSCode配置里的
port一致 - Desktop Server是否已经重启,Xdebug配置生效
内容的提问来源于stack exchange,提问作者rocknriter
相关产品推荐
相关产品推荐

