如果您位于防火墙后面的 NAT,如何使用 php xdebug?
我有以下用于调试 PHP 应用程序的用例:
- 开发人员确实有私有 IP 地址 开发
- 人员只能连接到服务器的有限数量的端口,例如 80、8080、3128,其他端口受到传出防火墙的限制。不过,如果传出请求是 HTTP,他可以使用没有此限制的代理。
- 服务器机器是完全可配置的
在这种情况下可以使用 xdebug 吗?如何?
可以建立 VPN,但这不是一个简单的解决方案,因此我更喜欢简化的解决方案。
I have the following use case for debugging a PHP application:
- The developer does have a private IP address
- The developer can connect only to a limited number of ports from the server, like 80, 8080, 3128, others being limited by the outgoing firewall. Still if the outgoing requests are HTTP he could use a proxy that does not have this limitation.
- the server machine is fully configurable
Is is possible to use xdebug in this circumstance? How?
It is possible to establish a VPN but this is not an easy solution so I would prefer a simplified one.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我找到的解决方案是使用 PuTTY 转发端口
9000
从服务器到客户端(IDE)。只需将 Xdebug 配置为连接到
localhost
而不是客户端的 IP 地址(IDE) 正在运行:有一篇名为远程调试 PHP 的好文章防火墙的方式描述了这一点,还有 Xdebug 配置和 SSH 端口转发方法。
The solution I found was to use PuTTY to forward the port
9000
from the server to the client (IDE).Just configure the Xdebug to connect to the
localhost
instead of an IP address your client (IDE) is running on:There is a nice article called Remote Debugging PHP with a Firewall in the Way describing this and also the Xdebug configuration and SSH port forwarding method.
另一种变体是使用 SSH 端口转发(也可以在 Cygwin 中使用)。
只需执行:
它创建一个隧道,将远程主机上的端口
9000
转发到本地主机上的端口9000
。其他一切与 PuTTY 方法中的相同(参见 sorin 的回答)。
Another variant is to use SSH port forwarding (can be used also in Cygwin).
Simply execute:
It creates a tunnel which forwards the port
9000
on the remote host to the port9000
on the localhost.Everything else is the same as in the PuTTY method (see sorin's answer).