我在Windows中使用VSCode Docker已经有几年了,我成功地创建了一个完全工作的开发环境,没有任何问题。
最近我用WSL2建立了一个新的开发环境。使用带有WSL2容器的Docker Windows和远程连接到WSL的Windows上的VSCode,将我的所有项目、库、CLI等移动到WSL中。一切都很顺利,我喜欢我能把一切分开。
但最近我遇到了一个我无法解决的问题,我失去了调试PHP文件的能力。我使用VSCode远程WSL扩展在WSL内部处理我的项目,但当我尝试调试时,什么也没发生。
我在我的VSCode中为我使用的每个开发环境(Windows、MacOS和WSL)设置了树调试设置。除了WSL之外,所有工作都可以。当我尝试使用WSL进行调试时,实际上什么都不会发生,没有输出错误,没有调试控制台信息,什么都没有...
以下是我的VSCode调试设置:
{
"version": "0.2.0",
"configurations": [{
"name": "Listen for XDebug Win10",
"type": "php",
"request": "launch",
"port": 9000,
"log": true,
"externalConsole": false,
"pathMappings": {
"/var/www/project-a/api": "\\\\wsl$\\Ubuntu\\home\\ubuntu\\PROJECTS\\project-a\\api",
},
"ignore": [
"**/vendor/**/*.php"
]
},
{
"name": "Listen for XDebug MacOS",
"type": "php",
"request": "launch",
"port": 9000,
"log": true,
"externalConsole": false,
"pathMappings": {
"/var/www/project-a/api": "/Users/ricky/PROJECTS/project-a/api",
},
"ignore": [
"**/vendor/**/*.php"
]
},
{
"name": "Listen for XDebug WSL",
"type": "php",
"request": "launch",
"port": 9000,
"log": true,
"externalConsole": false,
"pathMappings": {
"/var/www/project-a/api": "/home/ubuntu/PROJECTS/project-a/api",
},
"ignore": [
"**/vendor/**/*.php"
]
},
]
}
我做错了什么?有什么办法解决这个问题吗?
###更新:我把原来正确的答案改成了新的。虽然@romain prevost的解决方案奏效了,但我认为@dark的方法要简单得多:)
别管其他答案了。它们很有效,但在我看来太复杂了。
问题是,您无法连接到xdebug。
解决方案是告诉xdebug将远程_主机设置为主机。码头工人。内部
。本地主机可以使用那里的所有内容。现在,您只需通过hostname
在Visual Studio代码中收听localhost
。
等等。现在,您可以在phpunit测试或命令行脚本中调试浏览器调用的东西。
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings": {
"/var/www/html/": "${workspaceRoot}"
},
"hostname": "localhost"
}
]
}
php。伊尼
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_host = host.docker.internal
xdebug.remote_port = 9000
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html/": "${workspaceRoot}"
},
"hostname": "localhost"
}
]
}
php。伊尼
[XDebug]
xdebug.mode = develop
xdebug.start_with_request = yes
xdebug.client_host = host.docker.internal
xdebug.client_port = 9003
问题内容: 我正在尝试使用VSCode调试在Docker上运行的PHP应用程序,但没有成功。 过去,我可以使用运行WAMP Server的VSCode轻松调试PHP应用程序,但是由于我开始使用Docker,所以无法调试。在网上搜索了几本教程,在StackOverflow上检查了一些线程,但是我仍然无法正常工作。 Dockerfile: xdebug.ini docker-compose.yml V
我最近在VSCODE中调试时遇到了一个很大的问题。我已经试着通过搜索网站和重新安装我的一些扩展来修复它。 它不会在调试控制台中显示结果,而是将以下输出写入终端:
本指南将介绍如何使用 VSCode debugging 为您自己的 Electron 项目和 native Electron 代码库(Electron codebase)调试。 调试您的 Electron 应用 主进程 1. Open an Electron project in VSCode. $ git clone git@github.com:electron/electron-quick-
我只是尝试WSL 2与Docker的Windows和我有一个问题与安装卷: 容器构建和启动良好,我使用docker exec很好地访问它,但是容器中的文件夹没有绑定到我的笔记本电脑文件夹。但是,正确的路径实际上正确地安装在运行的容器上: (这里我在主机上进行pwd,以确定它是否与安装在容器上的内容完全匹配) 这是portainer的屏幕,告诉我容器中安装了什么路径,所有内容都匹配。 我在主机上的应
使用的是 WNMP 的集成环境,服务启用后,如何用 vscode 对 php 代码进行断点调试?之前是使用 PHPStorm 进行断点调试的,想知道 vscode 能否实现类似的断点调试功能
我需要在VsCode上调试我的反应原生应用程序,我是新的反应原生开发...:)我搜索并遵循不同的方法,但没有运气...:(首先,我遵循此方法https://medium.com/@Tunvirrahmantushs/react-nate-debug-with-vscode-in-imple-steps-bf39b6331e67并遵循此方法https://www.youtube.com/watch?