【问题标题】:xdebug timeout due to windows firewall由于 Windows 防火墙,xdebug 超时
【发布时间】:2013-02-08 12:42:41
【问题描述】:

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

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

目前找到的唯一解决方案是完全为内部域关闭防火墙。

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

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

  • 对子域进行特殊的 php / xdebug 配置
  • 更改 Windows 防火墙在 xdebug 端口上的行为

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

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

【问题讨论】:

    标签: php windows xdebug windows-firewall


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 2013-07-25
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多