如果您在防火墙后面的NAT上,如何使用PHPXdebug?

如果您在防火墙后面的NAT上,如何使用PHPXdebug?,php,firewall,xdebug,remote-debugging,Php,Firewall,Xdebug,Remote Debugging,我有以下用于调试PHP应用程序的用例: 开发者确实有一个私有IP地址 开发人员只能从服务器连接到数量有限的端口,如80、8080、3128,其他端口受传出防火墙的限制。但是,如果传出请求是HTTP,他可以使用没有此限制的代理 服务器机器是完全可配置的 在这种情况下可以使用xdebug吗?怎么做 可以建立VPN,但这不是一个简单的解决方案,因此我更喜欢简化的解决方案。我找到的解决方案是将端口9000从服务器转发到客户端(IDE) 只需将Xdebug配置为连接到localhost,而不是您的客

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

  • 开发者确实有一个私有IP地址
  • 开发人员只能从服务器连接到数量有限的端口,如80、8080、3128,其他端口受传出防火墙的限制。但是,如果传出请求是HTTP,他可以使用没有此限制的代理
  • 服务器机器是完全可配置的
在这种情况下可以使用xdebug吗?怎么做


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

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

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

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

还有一个版本描述了这一点,以及Xdebug配置和SSH端口转发方法。

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

只需执行:

ssh -R 9000:127.0.0.1:9000 host.example.com
它创建一个隧道,将远程主机上的端口
9000
转发到本地主机上的端口
9000


其他一切都与腻子法相同(见索林的答案)。

你读过这篇文章吗?您可能会感兴趣。参数应该是-RYou save my daysss!!!!!我已经搜索了很多地方,最后你救了我!!!!!!