29

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

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

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

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

4

1 回答 1

74

我在 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.ini 的机器上的端口 80 上的流量。

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

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

希望对您有所帮助。

于 2011-12-04T18:00:01.967 回答