在localhost外部运行PHP 5.4内置Web服务器

时间:2011-12-04 17:34:18

标签: php php-builtin-server

是的,在即将发布的PHP 5.4中有一个内置的Web服务器,您可以在他们的候选版本中试用(我最近也发现了这个!)

http://php.net/manual/en/features.commandline.webserver.php

我需要帮助搞清楚的是,有没有办法让它在localhost以外的域名上运行(它在localhost,端口80上正常运行)?甚至127.0.0.1都不起作用。我在我的hosts文件中放入了虚拟主机名,指向127.0.0.1并且它们也不起作用。我知道它只是一个候选版本,但我想知道是否有其他人已经提出了解决此问题的解决方案,以便我可以使用指向我的hosts文件中127.0.0.1的实际域名来测试我的应用程序。操作系统是Windows 7 Professional SP1。

我已经尝试过的事情: 谷歌搜索(duh) 2.通过php.ini查看选项 3.尝试127.0.0.1,我的LAN IP,我的WAN IP转发端口80并修复NAT环回问题(路由器运行DD-WRT)

1 个答案:

答案 0 :(得分:64)

我在Windows XP系统上进行了这些测试,但是在Linux上也应该通过修改命令来进行相同的操作。

像这样运行PHP测试服务器:

C:/php/php.exe -S 0.0.0.0:80
or
/usr/bin/php -S 0.0.0.0:80

0.0.0.0将绑定到系统上的所有可用IP地址。

在网络上的另一台计算机上,我将hosts文件配置为使用自定义域指向运行PHP的系统的内部IP。这不是127.0.0.1,因为它指的是本地主机,在我的情况下,我将主PC指向192.168.88.247,这是运行PHP的XP机器。请注意,应禁用防火墙或将防火墙设置为允许运行php的计算机上的端口80上的流量。

我将路由器配置为将来自外部端口80的流量转发到192.168.88.247:80。然后在外部网络的PC上使用主机文件,我将假域配置为指向我的WAN IP。我能够从外部访问PHP Web服务器。

也就是说,它只是一个用于测试的服务器,因此可能存在未知的安全风险,可能会向外界开放。

希望对你有所帮助。