当在虚拟主机上运行我的localhost WordPress网站时,我无法获得Virtual Studio Code PHP调试器绑定并停止在断点处:
- 网站网址:
http://mywebsite.local
- 磁盘路径:
b:/wamp64/www/mywebsite
我怀疑它与路径映射有关,但已经撕裂了我的耳朵3天。
调试工作,如果我直接从本地主机运行网站,即:
- 站点URL:
http://localhost/website
- 磁盘路径:
b:/wamp64/www/mywebsite
这就确认了Xdebug工作正常并且已经配置好了。我也可以让虚拟主机调试使用NetBeans IDE,所以这个问题似乎是特定于我的虚拟工作室代码设置。
我将非常感谢您对我的launch.json
文件的建议:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
},
{
"name": "Open in Browser",
"type": "chrome",
"request": "launch",
"url": "http://mywebsite.local",
"webRoot": "${workspaceFolder}",
"pathMapping": {
"http://mywebsite.local": "b:\wamp64\www\mywebsite"
},
},
],
"compounds": [
{
"name": "Debug and Open in Browser",
"configurations": [
"Listen for Xdebug",
"Open in Browser"
]
}
]
}
我在这里发布了工作配置,以供将来的读者使用。删除PathMapping参数可能是问题所在(感谢@LazyOne),但这并不能解释我在添加这些行之前遇到的问题。无论如何,复合配置可以开始监听xdebug并启动chrome到基于当前${workspaceFolderBasename}的URL,即磁盘上的文件夹Visual Studio Code当前已打开。
注意userDataDir值强制chrome重新使用与当前登录的chrome帐户关联的配置文件。我需要这个,因为这个配置文件有我用来支持调试的所有扩展和书签。删除这个,让Chrome为每个会话创建一个新的配置文件。
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
},
{
"name": "Launch Chrome",
"type": "chrome",
"request": "launch",
"url": "http://${workspaceFolderBasename}.dyg",
"userDataDir": "",
},
],
"compounds": [
{
"name": "Debug and Open in Browser",
"configurations": [
"Listen for Xdebug",
"Launch Chrome"
]
}
]
}