如果您在防火墙后面的 NAT 上,如何使用 php xdebug?
Posted
技术标签:
【中文标题】如果您在防火墙后面的 NAT 上,如何使用 php xdebug?【英文标题】:How can you use php xdebug if you are on NAT behind a firewall? 【发布时间】:2011-04-17 04:19:06 【问题描述】:我有以下用于调试 php 应用程序的用例:
开发者确实有私有IP地址 开发人员只能从服务器连接到有限数量的端口,例如 80、8080、3128,其他端口受传出防火墙的限制。不过,如果传出请求是 HTTP,他可以使用没有此限制的代理。 服务器机器是完全可配置的在这种情况下可以使用 xdebug 吗?怎么样?
可以建立 ***,但这不是一个简单的解决方案,所以我更喜欢简化的解决方案。
【问题讨论】:
你读过这个:derickrethans.nl/debugging-with-multiple-users.html 吗?你可能会感兴趣。 【参考方案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!!!!找了好多地方,你终于救了我!!!!!!以上是关于如果您在防火墙后面的 NAT 上,如何使用 php xdebug?的主要内容,如果未能解决你的问题,请参考以下文章
如果机器在NAT防火墙后面,可以在传输模式下使用使用AH的IPSEC吗?