我有以下用于调试PHP应用程序的用例:
>开发人员确实拥有私有IP地址
>开发人员只能从服务器连接到有限数量的端口,如80,8080,3128,其他端口受到传出防火墙的限制.如果传出请求是HTTP,他仍然可以使用没有此限制的代理.
>服务器机器是完全可配置的
在这种情况下可以使用xdebug吗?怎么样?
可以建立VPN,但这不是一个简单的解决方案,所以我更喜欢简化.
解决方法:
我找到的解决方案是使用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端口转发方法.