首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWSL和XDebug -在WSL开发人员模板中将隧道添加到WSL以进行Shopware6调试。

GWSL和XDebug -在WSL开发人员模板中将隧道添加到WSL以进行Shopware6调试。
EN

Stack Overflow用户
提问于 2022-08-23 09:22:43
回答 1查看 87关注 0票数 0

我在Windows上使用WSL。我试图直接从WSL运行Phpstorm,涉及GWSL。这样可以避免WSL和Windows之间的文件系统同步。除了XDebug之外,一切都运行得很完美,听host.docker.internal不起作用。我使用Shopware6开发人员模板,它为webapp创建一个容器,启用XDebug。

我看到了一个解决方案,它使用套接字将xdebug套接字映射到phpstorm侦听端口。你能帮我做吗?

EN

回答 1

Stack Overflow用户

发布于 2022-08-23 13:11:32

在wsl上使用docker时,您有一个至少包含3台主机的网络:Windows -> WSL-Linux -> Docker-Linux。默认情况下,主机名host.docker.internal指向Windows,但如果使用GWSL,则可以从WSL运行IDE。因此,它是一个不同的主机,主机名host.docker.internal无法访问它。

我建议采取以下步骤:

  1. 获取Ip地址WSL.运行hostname -I
  2. Check -Linux之间的连接。
    • 打开端口,监听IDE
    • ,转到对接容器。在WSL终端中运行docker exec -it [your container name] sh
    • There,运行telnet [wsl-linux ip from step1] 9000。如果您将看到step.

,那么它就工作了,您可以转到下一个Connected to [your ip]

  1. 更新设置xdebug.remote_hostxdebug.ini文件中您的容器
    • 转到码头容器。运行在WSL-Linux终端docker exec -it [your container name] sh
    • Set xdebug.remote_host=[wsl-linux ip from step1]中,在您的xdebug.ini (可能的话,您会在这里找到它/usr/local/etc/php/conf.d/xdebug.ini)
    • Restart您的码头容器docker restart [your container name]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73456175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档