无法从内部Docker容器和WSL2实例连接Xdebug
我必须做PHP开发,为此我得到了一台Windows10机器,这是我无法改变的。因此,我使用WSL2功能来使用Ubuntu20.04设置和开发服务器 第一次尝试: 使用带有Docker桌面的Windows。我配置了环境,但遇到了问题。项目卷和Docker之间的映射导致Composer、git等重要处理非常缓慢。所以这对我来说是行不通的 第二次尝试: 直接在WSL2实例中设置开发环境。这很有效。我能够使用PhpStorm连接Xdebug调试器。但是,其余的操作非常缓慢,对我来说是不可行的 第三次尝试: 我被建议做以下事情:创建WSL2 Ubuntu 20.04实例。在其上安装docker并将项目文件夹直接存储在无法从内部Docker容器和WSL2实例连接Xdebug,docker,docker-compose,phpstorm,xdebug,Docker,Docker Compose,Phpstorm,Xdebug,我必须做PHP开发,为此我得到了一台Windows10机器,这是我无法改变的。因此,我使用WSL2功能来使用Ubuntu20.04设置和开发服务器 第一次尝试: 使用带有Docker桌面的Windows。我配置了环境,但遇到了问题。项目卷和Docker之间的映射导致Composer、git等重要处理非常缓慢。所以这对我来说是行不通的 第二次尝试: 直接在WSL2实例中设置开发环境。这很有效。我能够使用PhpStorm连接Xdebug调试器。但是,其余的操作非常缓慢,对我来说是不可行的 第三次尝试
\\wsl$
中。在这个WSL2实例中,我运行了一个DockerWebServer容器。本地主机可以访问Web服务器
这似乎工作得很好,但不知道为什么。。。docker Web服务器上运行的网站非常快,执行git或composer命令也非常快。我使用PhpStorm直接从\\wsl$
位置打开项目文件夹
我遇到的唯一问题是无法使用PhpStorm创建Xdebug会话
我的问题是:如何配置开发环境以便使用Xdebug
事实和规范
- Windows 10作为主机
- WSL实例:Ubuntu 20.04
- Docker Web服务器实例:Ubuntu 20.04(php7.4-fmp和apache2,xdebug 3.0.3端口9000)
- docker Web服务器容器可以访问主机网络(192.x.x.x.)
- docker Web服务器容器可以访问WSL网络(172.20.x.x)
xdebug.mode = debug
xdebug.client_host = host.docker.internal (this goes to the 192.x.x. address)
关于如何使Xdebug在此设置中工作,有什么建议吗?如果使用纯WSL2工作,那么总体配置应该可以(使用的端口号和其他非IP Xdebug配置(顺便说一句:您说使用了
9000
,但是Xdebug v3默认使用9003..并且您的简要Xdebug配置没有提到这一时刻))。因此,我建议首先启用Xdebug日志并尝试调试——看看它尝试连接到哪里(如果有)以及响应是什么。我个人没有使用过这种“WSL2内部Docker”设置,所以现在无法给出任何精确的说明。