2011-12-04 53 views
21

是的,即將發佈的PHP 5.4中有一個內置的web服務器,您可以在他們的發佈候選中嘗試(我最近才發現它也是!)在localhost外部運行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的實際域名來測試我的應用程序。 OS是Windows 7 Professional SP1。

事情我已經嘗試: 1.谷歌搜索(杜) 2.翻翻php.ini中的選項 3.嘗試了127.0.0.1,我的局域網IP,我的WAN IP端口80轉發和NAT迴環問題修復(路由器運行DD-WRT)

+0

如果這是一個* web服務器*,而不是您在SuperUser或ServerFault上的最佳狀態,則該網站將面向*實際使用PHP *進行編程。 – animuson

+0

我不確定它是否屬於,因爲這是PHP內置的東西,可能與PHP本身的配置有關。無論如何感謝您的建議! – Shanshui

+0

我給了它一些想法,我認爲你是對的。我剛剛標記了自己的問題,以便將其移至ServerFault。希望主持人很快會過來。 – Shanshui

回答

52

我在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地址。

在網絡上的另一臺機器上,我將主機文件配置爲使用自定義域指向運行PHP的系統的內部IP。這不是127.0.0.1,因爲它指的是本地主機,在我的情況下,我將我的主PC指向192.168.88.247這是運行PHP的XP機器。請注意防火牆應該被禁用或設置爲允許運行php的機器上的端口80上的流量。

我配置我的路由器端口轉發從外部端口80到192.168.88.247:80的流量。然後在外部網絡上使用PC上的hosts文件,我將虛假域配置爲指向我的WAN IP。我能夠從外部訪問PHP Web服務器。

這就是說,它只是一個用於測試的服務器,所以可能存在未知的安全風險將其向外界開放。

希望能幫助你。

+0

感謝那0.0.0.0提示! – Shanshui

+0

感謝0.0.0.0提示!太... ;-) – ZEE

+0

如何使它只接受來自預先指定主機的連接? –

相關問題