这似乎应该超出简单,所以我讨厌问.但我尝试配置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-causes-windows-to-禁用服务/