【问题标题】:How can you use php xdebug if you are on NAT behind a firewall?如果您在防火墙后面的 NAT 上,如何使用 php xdebug?
【发布时间】:2011-04-17 04:19:06
【问题描述】:

我有以下用于调试 PHP 应用程序的用例:

  • 开发者确实有私有IP地址
  • 开发人员只能从服务器连接到有限数量的端口,例如 80、8080、3128,其他端口受传出防火墙的限制。不过,如果传出请求是 HTTP,他可以使用没有此限制的代理。
  • 服务器机器是完全可配置的

在这种情况下可以使用 xdebug 吗?怎么样?

可以建立 VPN,但这不是一个简单的解决方案,所以我更喜欢简化的解决方案。

【问题讨论】:

标签: php firewall xdebug remote-debugging


【解决方案1】:

我找到的解决方案是使用PuTTY 将端口9000 从服务器转发到客户端(IDE)。

只需将 Xdebug 配置为连接到 localhost 而不是您的客户端 (IDE) 正在运行的 IP 地址:

xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.remote_connect_back = 0

a nice article called Remote Debugging PHP with a Firewall in the Way 对此进行了描述,还有 Xdebug 配置和 SSH 端口转发方法。

【讨论】:

    【解决方案2】:

    另一个变体是使用 SSH 端口转发(也可以在 Cygwin 中使用)。

    只需执行:

    ssh -R 9000:127.0.0.1:9000 host.example.com
    

    它会创建一个隧道,将远程主机上的端口9000 转发到本地主机上的端口9000

    其他一切都与 PuTTY 方法相同(参见 sorin 的回答)。

    【讨论】:

    • 参数应该是-R
    • 你拯救了我的日子ssssssssssssssss!!!!找了好多地方,你终于救了我!!!!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2019-04-15
    • 2011-03-15
    • 2014-06-17
    • 1970-01-01
    相关资源
    最近更新 更多