由于Windows防火墙导致xdebug超时

时间:2013-02-08 12:42:41

标签: php windows xdebug windows-firewall

当Windows客户端尝试在此服务器上打开网站时,我们遇到了在开发服务器上运行xdebug的问题。服务器向客户端发送xdebug请求,如果没有客户端应用程序(例如phpstorm)在xdebug端口上侦听,它似乎会卡在Windows防火墙中。这导致浏览器尝试从开发服务器打开网站时超时。

问题似乎是Windows防火墙的Stealth模式,它无法禁用,也不会将ICMP Port Unreachable发送回调试服务器。

到目前为止,唯一找到的解决方案是完全为内部域转换防火墙。

是否有机会摆脱这种行为,而无需在网络中试图在开发服务器上打开网站的任何Windows客户端上安装特殊软件?

以下选项之一对我们来说是一个很好的解决方案 - 但我们不知道如何实现它:

  • 为子域名提供特殊的php / xdebug配置
  • 更改xdebug端口上Windows防火墙的行为

由于某种原因,以下选项被放弃:

  • 安装客户端应用程序(例如PHPStorm),监听每个Windows客户端上的相应端口。
  • 完全关闭Windows防火墙。
  • 完全关闭xdebug或在每个请求中需要特殊请求参数。

1 个答案:

答案 0 :(得分:0)

我正在运行Windows 7,EasyPHP 13.1 Dev服务器和NetBeans 7.3.1。当我点击“调试”时,我的网络浏览器(chrome)只会等待一个从未出现过的页面。我确定Windows防火墙是通过断开互联网然后关闭Windows防火墙的问题。

我的解决方案是通过防火墙允许更多程序。控制面板 - >系统和安全 - > Windows防火墙 - >允许程序或功能通过Windows防火墙。我添加了许多可执行文件只是为了安全,但我很确定它授予php可执行文件(php.exe和php-win.exe)的权限。