解决家庭网络下PHPStorm无法连接线上主机xdebug服务的配置问题

亡梦爱人 提交于 2019-12-01 02:04:52

目前的现象是phpstorm + xdebug能调试连上我笔记本上虚拟机中的web服务, 却连不上在线web主机. 

擦擦, 以前也没直接连到在线主机来调试, 一直都是本地调试, 这次情况特殊就歇菜了.


搞了一个通宵,  累死找到原因. 
原来xdebug是把本地的phpstorm IDE作为调试过程中的服务端的, web服务运行的主机才是client!!!!


然后我设置web服务上的xdebug一直都是接受全部调试回连请求 xdebug.remote_connect_back = 1
没有指定ip, 这样虚拟机中的web服务倒是能回连上笔记本实机中的phpstorm
可是我那个在线的web服务主机要socket回连到我的phpstorm就得穿过光纤猫->穿过路由器->再到我的phpstormIDE,

由于xdebug检测到的公网ip是分配给光纤猫的, 这样调试回连的socket直接被中间者光纤猫给截断了, 无法到达我笔记本上的phpstorm。


可见, debug过程中, C/S架构,谁是C, 谁是S, 思想概念上颠倒个对象顺序直接就坑死我了, 以前也没看太仔细xdebug的架构介绍, 这次就擦擦了. 如果phpstorm是作为debug过程的C端的话, 是万万不会浪费我一通宵的额


也罢, 找到原因就解决问题, 访问光纤猫配置页, 将其DMZ主机设置为我的笔记本,这样我的笔记本将会受理光纤猫收到的所有端口请求,  这样在线web服务上的xdebug就能回连上我笔记本上的phpstorm了( 当然你也可以设置端口转发方案,将光纤猫的9000端口转发到你笔记本的9000端口 )


唉, 那两天真是郁闷了, 希望以后有其他人遇到类似问题能少走弯路吧. 我先不谢了, 嘎嘎

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!