我需要通过PHP连接到behind of a VPN
的Web服务。我的服务器是Debian Linux(Squeeze)。
虽然我的问题似乎是一个概念性的问题,但也欢迎任何特定的帮助。
服务器操作系统:Debian Linux Squeeze(x64)
Web服务器:Apache HTTP
PHP版本:5.3
框架:Symfony 1.4
答案 0 :(得分:8)
VPN位于PHP以下的网络层,PHP不会知道或关心连接是通过VPN还是普通连接。它由网络堆栈处理。
如果你使用永久的(例如IPSEC),那么PHP不需要创建连接,它只是在PHP连接到VPN中的IP地址时使用。它选择在网络层进行路由时使用,而不是由PHP进行。即使您按需创建VPN也是如此,因为jderda建议使用exec()或类似的。但永久连接更好(IPSEC)。
所以回答你的问题:
答案 1 :(得分:3)
从PHP的角度来看,VPN只是一个普通的网络连接。它不需要额外的处理。
如果您想动态建立VPN连接,您可能需要使用exec()和一些命令行工具来建立连接。但是,由于此类连接不会干扰正常的网络通信(只要它已正确配置,与其他子网IP范围),您应该建立一次并保持活动状态,以便PHP和其他应用程序使用。