PHP內建Web伺服器的使用(專用於開發除錯和命令列)

PHP 從5。4版本開始,CLI SAPI 提供了一個內建的Web Server,也就是說自帶了一個小型的用於執行PHP程式碼的Web伺服器,這個內建的Web Server主要用於本地開發使用,不可用於實際生產環境。

工作原理:

URI請求會被髮送到PHP可執行檔案所在的工作目錄(Working Directory)進行處理,除非你使用了-t引數來自定義不同的目錄,如果請求未指定執行哪個PHP檔案,則預設執行目錄內的index。php 或者 index。html。如果這兩個檔案都不存在,伺服器會返回404錯誤。

啟動方式:

透過命令列啟動這個Web Server。如果指定了一個PHP檔案,則這個檔案會作為一個“路由”指令碼,意味著每次請求都會先執行這個指令碼。如果這個指令碼返回 FALSE ,那麼直接返回請求的檔案(例如請求靜態檔案不作任何處理)。否則會把輸出返回到瀏覽器。

// 以下程式碼必須在命令列或終端中執行php -S localhost:8000

啟動時指定訪問目錄:

# cd /www# php -S localhost:8000 -t public/PHP 5。4。0 Development Server started at Thu Jul 21 10:50:26 2011Listening on localhost:8000Document root is /www/publicPress Ctrl-C to quit

該內建伺服器預設只處理文字,如果客戶端請求的是圖片,則需要透過一個“路由”指令碼進行處理:

# php -S localhost:8000 router。php

<?php// router。php// 對於請求的是圖片,return false即可直接返回請求的檔案if (preg_match(‘/\。(?:png|jpg|jpeg|gif)$/’, $_SERVER[“REQUEST_URI”])) { return false; // 直接返回請求的檔案} else { echo “

Hello World!

”;}

Windows下的演示:

PHP內建Web伺服器的使用(專用於開發除錯和命令列)

PHP內建Web伺服器的使用(專用於開發除錯和命令列)