解決家庭網絡下PHPStorm沒法鏈接線上主機xdebug服務的配置問題

目前的現象是phpstorm + xdebug能調試連上我筆記本上虛擬機中的web服務, 卻連不上在線web主機. php

擦擦, 之前也沒直接連到在線主機來調試, 一直都是本地調試, 此次狀況特殊就歇菜了.web


搞了一個通宵,  累死找到緣由. 
原來xdebug是把本地的phpstorm IDE做爲調試過程當中的服務端的, web服務運行的主機纔是client!!!!
架構


而後我設置web服務上的xdebug一直都是接受所有調試回連請求 xdebug.remote_connect_back = 1
沒有指定ip, 這樣虛擬機中的web服務卻是能回連上筆記本實機中的phpstorm
但是我那個在線的web服務主機要socket回連到個人phpstorm就得穿過光纖貓->穿過路由器->再到個人phpstormIDE,
phpstorm

因爲xdebug檢測到的公網ip是分配給光纖貓的, 這樣調試回連的socket直接被中間者光纖貓給截斷了, 沒法到達我筆記本上的phpstorm。socket


可見, debug過程當中, C/S架構,誰是C, 誰是S, 思想概念上顛倒個對象順序直接就坑死我了, 之前也沒看太仔細xdebug的架構介紹, 此次就擦擦了. 若是phpstorm是做爲debug過程的C端的話, 是萬萬不會浪費我一通宵的額spa


也罷, 找到緣由就解決問題, 訪問光纖貓配置頁, 將其DMZ主機設置爲個人筆記本,這樣個人筆記本將會受理光纖貓收到的全部端口請求,  這樣在線web服務上的xdebug就能回連上我筆記本上的phpstorm了( 固然你也能夠設置端口轉發方案,將光纖貓的9000端口轉發到你筆記本的9000端口 )debug


唉, 那兩天真是鬱悶了, 但願之後有其餘人遇到相似問題能少走彎路吧. 我先不謝了, 嘎嘎調試

相關文章
相關標籤/搜索