簡體   English   中英

打開XDebug的Windows防火牆

[英]Open Windows Firewall for XDebug

這似乎應該超出簡單,所以我討厭問。 但我嘗試配置Windows防火牆以允許XDebug在端口9000上連接到PHPStorm但沒有成功。

XDebug在Vagrant Box上具有專用網絡連接 - 因此主機具有虛擬網絡適配器。 Vagrant是192.168.33.10,主機PC是192.168.33.1。

禁用Windows防火牆后,XDebug將連接到PHPStorm。 但我顯然不想讓我的防火牆關閉。

所以我嘗試使用以下入站規則設置在Windows防火牆中打開一個端口:

  • 一般
    • 啟用:檢查
    • 操作:允許連接
  • 計划和服務
    • 所有符合指定條件的程序:已檢查
    • 服務
      • 適用於所有計划和服務:已檢查
  • 協議和端口
    • 協議類型:TCP
    • 本地端口:特定端口:9000
    • 遠程端口:所有端口
  • 范圍
    • 本地IP地址
      • 任何IP地址:已選中
    • 遠程IP地址
      • 任何IP地址:已選中
  • 高級
    • 簡介
      • 域名:已檢查
      • 私人:已檢查
      • 公開:檢查
    • 接口類型
      • 所有接口類型:已選中
    • 邊緣遍歷:塊邊緣遍歷

但它不能讓XDebug連接到PHP風暴。 我也嘗試將協議設置為UDP。 而且我知道如果這個規則確實有效,那就太過開放了(我可以收緊范圍),但目前我只是想在收緊之前看到它有效。

Virtualbox網絡主機專用接口存在問題,因為它是環回接口,Windows以不同的方式管理它。

解決這個問題的簡單方法是打開'regedit'。 搜索'HKLM:\\ system \\ CurrentControlSet \\ control \\ class {4D36E972-E325-11CE-BFC1-08002BE10318}'。 有很多接口。 簡單地看一個名為'VirtualBox Host-Only Ethernet Adapter'。 然后添加名為'* NdisDeviceType'的新DWORD(32)鍵和值'1'(十六進制)。 重啟。

我不知道是否需要添加標准的fw規則,例如主機端口9000允許所有,因為我已經擁有它。

更多關於它 - http://brianreiter.org/2010/09/18/fix-virtualbox-host-only-network-adapter-creates-a-virtual-public-network-connection-that-c​​auses-windows-to-禁用服務/

我找到的最簡單的方法:Windows高級防火牆(您添加/刪除規則的地方) - >右鍵單擊 - >屬性(用於啟用/禁用本地/域/公共防火牆的另一個位置)

三個范圍(本地/域/公共)中的每一個都有一個設置,完全排除特定網絡接口的防火牆處理(!)

為任何vmware / virtualbox網絡接口打開Windows防火牆。 (除非你針對你的虛擬機要求它)

這將允許從您的guest虛擬機到主機的任何連接。

通常,在協議或端口范圍方面不容易指定規則。 相反,只是讓程序可執行文件的所有內容都有防火牆例外。 因此,不要為端口9000創建規則,只需為“xdebug.exe”創建規則,但不要將其限制為僅限端口9000。

控制面板 - > Windows防火牆 - >單擊“通過Windows防火牆允許應用程序或功能”,然后添加xdebug.exe(或任何可執行文件名)。 這將添加一組新的入站規則(一個用於UDP,另一個用於TCP)。 返回高級設置頁面,找到已創建的新入站規則,並檢查每個以確認已設置“范圍”復選框(私有,域,公共)。

有一種方法可以打開防火牆日志記錄,這樣您就可以發現防火牆打開時阻塞的內容。 然后,您可以根據需要添加規則。

http://technet.microsoft.com/en-us/library/cc787462(v=ws.10).aspx

如果您的盒子上除了虛擬適配器之外還有NAT適配器,則可以將php.ini xdebug.remote_host參數中的xdebug config更改為計算機上物理接口的IP。 最簡單的方法是嘗試telnet到9000端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM