使用 PHP 建立一個臨時的網頁伺服器

首先,一定要先說由 PHP 建立出來的網頁伺服器,僅適用於開發或測試環境,絕對不要拿來當做正式環境的網頁伺服器。

因為 PHP 搭建出來的網頁伺服器,和真正的網頁伺服器,還是有很大的落差。以往,想要測試 PHP 的程式,一定都會餵到 Apache 或 IIS……等網頁伺服器中執行。

一來是 Apache 或 IIS 本來就已經架好了,二來也符合真實的執行環境。

當然,還有一點是我根本不知道 PHP 還有內建一個開發用途的網頁伺服器。

根據 PHP 執行檔的說明(不論 Linux 或 Windows),要建立 PHP 的臨時網頁伺服器,基本用法是這樣:

php -S 127.0.0.1:8080

然後用瀏覽器開啟 http://127.0.0.1:8080/ 就可以看到我們的 PHP 網頁了。

如果看到其他的東西,或結果不如預期,也算是預料中的情況。

基本用法,會自動將目前所在資料夾,設定為 Document root。

在 Windows 上,如果你是在 C:\Web\phptest\ 執行基本用法,那麼你就必須要把你想測試的 PHP 放在 C:\Web\phptest\ 裡。

在 Linux 裡也是,如果你是在 /var/www/html/phptest/ 執行基本用法,那麼你就必須要把 PHP 放到 /var/www/html/phptest/ 裡。

但實際上你想測試的 PHP 都不在那些目錄裡,那麼就可以改用這樣的執行法

php -S 127.0.0.1:8080 -t D:\web\phpdev\
php -S 127.0.0.1:8080 -t /home/john/phpdev/

也就是多加一個參數 t,並指定目標資料夾路徑即可。

再更進階一點點的用法,可以這樣用

php -S 0.0.0.0:8080

重點在於 IP 的部份,指定為 0.0.0.0,這樣子的用法,是指這個網頁伺服器不綁定任何的 IP。

如果你的電腦有很多 IP,使用任何一組 IP,都可以連上這一個網頁伺服器。甚至是你的外部 IP。

但請一定要注意,不要拿它用來做為正式環境的的網頁伺服器。

最後,我們看一下用 PHP 建出來的網頁伺服器和標準的網頁伺服器的差異。

PHP 建出來的,可以看到 PHP 的版本,同時會指出這是一個 Development Server

IIS 的,可以看到 IIS 的版本

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策服務條款