PHPSTORM+Xdebug远程调试WSL项目

本文最后更新于:2 个月前

最近有需求在wsl内部署宝塔,再使用宝塔部署一些项目用于代码审计,审计过程有需求使用到断点调试

0x1 xdebug的配置

已经安装好宝塔面板后,上传源码并部署到宝塔上,windows物理机内留一份一样的源码

部署完成之后打开网页成功访问到

宝塔面板在对应的php版本下也安装好xdebug拓展

安装完拓展之后宝塔面板会自动把xdebug添加进配置文件中,但是我们需要手动配置几个项

其中xdebug.client_host的值是window物理机的ip,wsl内将把调试结果通过网络传输给这个ip通信从而实现在物理机debug

1
2
3
4
5
6
[xdebug]
xdebug.client_host = 192.168.141.183
xdebug.start_with_request = yes
xdebug.client_port = 9103
xdebug.idekey = PHPSTORM
xdebug.mode = debug

0x2 PHPSTORM的配置

首先打开一开始准备的与服务端内相同的一份源码

在Debug处选择和上面xdebug配置相同的端口

编辑配置(我使用的是新版ui,旧版差不多)

按顺序添加debug配置->添加server,这里的host和port随便填,最重要的是目录映射做好,windows和wsl两份源码对应关系不能错,IDE Key就填和php.ini中配置的key相同即可

再使用新增的配置点击调试,打上断点

进行访问相关服务,已经能收到debug信息了

切记要保持两份源码的一致性!!