You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GWSL与XDebug:为Shopware6开发模板配置WSL XDebug隧道

解决WSL中PhpStorm与Docker容器XDebug连接问题

1. 确认PhpStorm的XDebug监听配置

  • 打开PhpStorm,进入Settings > PHP > Debug
  • 确认XDebug的Debug port为9003(XDebug3默认)或9000(XDebug2默认)
  • 勾选Can accept external connections,并确保右上角的调试监听按钮(电话图标)为绿色激活状态
  • 若PhpStorm仅监听localhost,后续需通过socat做转发

2. 在WSL中安装socat

执行终端命令:

sudo apt update && sudo apt install socat -y

3. 获取WSL的局域网IP

执行以下命令获取WSL eth0网卡的IP地址:

ip addr show eth0 | grep inet | awk '{print $2}' | cut -d/ -f1

记下输出的IP(例如192.168.1.100)

4. 启动socat端口转发

在WSL终端执行,将WSL局域网IP的指定端口流量转发到PhpStorm监听的本地端口:

sudo socat TCP-LISTEN:9003,bind=你的WSL_IP,reuseaddr,fork TCP:localhost:9003
  • 替换你的WSL_IP为步骤3获取的IP
  • 若使用XDebug2,将端口替换为9000
  • 可将该命令添加到WSL启动脚本(如~/.bashrc),实现开机自动运行

5. 修改Shopware6容器的XDebug配置

找到Shopware6开发模板的环境配置文件(通常是.env或docker-compose.yml),更新XDebug参数:

XDebug3配置:

XDEBUG_MODE=debug
XDEBUG_CLIENT_HOST=你的WSL_IP
XDEBUG_CLIENT_PORT=9003
XDEBUG_IDEKEY=PHPSTORM

XDebug2配置:

XDEBUG_ENABLE=1
XDEBUG_REMOTE_HOST=你的WSL_IP
XDEBUG_REMOTE_PORT=9000
XDEBUG_REMOTE_IDEKEY=PHPSTORM
XDEBUG_REMOTE_CONNECT_BACK=0

6. 重启Docker容器

执行命令重启Shopware6的Web应用容器:

docker-compose restart web

7. 验证调试连接

  • 在PhpStorm中设置断点
  • 访问Shopware6页面触发断点,确认PhpStorm能正常捕获调试请求

内容的提问来源于stack exchange,提问作者Zirc75

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:09:22