宁可一次一次去撞南墙,也不能一个一个失去理想。

Xdebug远程调试的设置及内网远程调试解决方案

Xdebug原理是PHP开始运行时主动连接设置的远程地址和端口,进行数据交互。

所以在PHPSTORM里点击小电话图标是启用了端口监听,等待Xdebug的连接。

# 启用调试
xdebug.remote_enable=1
# 远程端口
xdebug.remote_port=9100
# 远程地址,如果不设置,Xdebug会从$_SERVER头里取到客户IP进行连接
xdebug.remote_host=127.0.0.1
# 该选项不知道具体作用是什么,Chrome的调试插件会自动附加这个头,phpstorm配置调试时候也会要求填写这个头,但是实际测试三处填写不一样并不会影响调试,所以我在配置文件中没有配置这个值。
# xdebug.idekey=”PHPSTORM”

因为调试时候是Xdebug连接我的端口,但是运营商给我的时内网IP,这个问题造成不能调试。解决办法也有,就是将我本地的端口映射到我的VPS上,然后xdebug.remote_host设置为我的VPS地址,相当于用VPS做一个中转。

有两种方案,一是使用我路由器上的FRP映射,但是我的LinuxVPS在国外,延迟太严重。

另一种就是在我的阿里的WindosVPS上使用vIDC20进行映射。非常好用的小工具,但是这个东西会报毒,所以大家慎用。

服务器脚本:
sets port=VPS_PORT pwd=524edf5s65fyj5m:2bt8d5m21ctf
vidcs pwd=VPS_PWD enable=true

客户端脚本:
mtcpr 127.0.0.1:9100 9100 VPS_IP VPS_PORT VPS_PWD Xdebug

这样就可以了。

点赞

发表评论

电子邮件地址不会被公开。