PHP 內建WEB伺服器的簡單使用

2022-09-25 19:12:10 字數 1391 閱讀 8592

在很多時候,我們需要簡單的執行乙個小 demo 來驗證一些**或者輪子是否可用,是否可以執行起來,但是去配 nginx 或者 apache 都很麻程式設計客棧煩,其實,php cli 已經提供了乙個簡單的測試伺服器,我們直接就可以執行起來進行簡單的一些測試工作。

php -s localhost:8081

直接使用 -s 命令選項,然後指定位址及埠號,我們就可以執行起來乙個 php 內建的簡易web伺服器。預設情況下,這個位址會找當前目錄下的 index.php 或 index.html 檔案。當我們在瀏覽器輸入指定的檔案時,就是訪問指定的檔案,如果都沒有找到會正常的返回404錯誤。

而控制台會輸出當前伺服器的訪問情況,如下圖所示:

這個內建伺服器和用 nginx 等伺服器搭起來的應用伺服器本質上沒有太大的區別,包括 $_server 之類的內容都可以正常獲取到,也可以正常使用 incl程式設計客棧ude 等功能載入其他檔案,也就是說這個內建web伺服器執行一些框架也是沒有問題的。它是可以完全滿足我們的測試要求的。但是需要注意的是,這個內建web伺服器不能用於生產環境。畢竟它的功能還是太簡單,不是乙個生產配備的高規格伺服器應用。

我們也可以在任何目錄去執行指定目錄的php**,只需要再增加乙個 -t 選項來指明要執行起伺服器的根目錄即可。

php -s localhost:8081 -www.cppcns.comt dev-blog/php/202004/source

這樣我們就可以執行起來乙個以 dev-blog/php/202004/source 目錄為根目錄的測試環境伺服器。

php -s localhost:8081 php的內建web伺服器.php

如果我們給當前伺服器直接指定了乙個php檔案,那麼直接開啟鏈結就會訪問的是這個檔案的內容,而不是去找 index.php 之類的檔案。即使我們繼續給 url 後台增加其他路徑或者其他檔名,它依然會開啟的是這個檔案,也就是說,我們啟動了乙個單檔案入口的應用伺服器程式。就像各種框架的 index.php 檔案一樣,比如我們利用這個檔案做乙個簡單的路由分發測試:

$routepages = [

'/testroute2.php',

'/route/testroute1.php'

];if(in_array($_server['request_uri'], $routepages))else

// route/testroute1.php

echo "hello 程式設計客棧route1!";

// testroute2.php

echo "hello route2!";

兩個測試檔案只是簡單的輸出了一段文字用於區別分別載入了兩個檔案。上述**的意思是我們訪問定義好的兩個路由路徑時,就會載入對應的檔案,訪問其他路徑則會列印當前伺服器的 $_server 資訊。

測試**: github.com/zhangyue050…

php 內建Web伺服器

至php5.4.0起,php又多了乙個隱藏功能 內建web伺服器,不過內建伺服器不應該出現在生產環境中,但對本地開發卻是乙個很好的工具。所以我們無需安裝mamp,lamp或大型web伺服器,就能在本地編寫或預覽html。伺服器啟動 內建web伺服器啟動十分容易,只需要在當前專案根目錄開啟終端應用,輸...

PHP 5 4 內建web伺服器

php是一種指令碼語言,它需要php直譯器來分析執行php檔案。當把php做為cgi服務web請求時,它需要被嵌入到某種web伺服器裡,最常見的是整合到apache或nginx或iis等等web容器裡,這就是說,在使用php前,你需要安裝apache或nginx或iis,並且正確的配置它們和php整...

PHP內建伺服器

php在安裝的時候會內建了伺服器的功能,我們在使用的過程中如果只是除錯,可以選擇啟動php內建的伺服器,下面是windows下php內建伺服器的啟動步驟 1 將php的d phpstudy php54 即php.exe所在目錄 新增到環境變數path中。2 開啟dos命令視窗輸入 其中d phpst...