使用PHP內建web伺服器,實現簡單的除錯應用

junwind發表於2020-12-04

因為平時經常會執行一些PHP程式碼片段,或臨時的專案等,做測試使用,辦公環境在虛擬機器中,我不想因為一些個人的測試而去破壞辦公環境;

因此可以在win本地僅安裝一個PHP(安裝省略),或者虛擬機器中的Linux安裝PHP來執行測試任務;(建議用虛擬機器中Linux方式)

再次提醒,這種方式僅本地測試使用;

# 在自己家目錄下建立www目錄
[root@localhost ~]# mkdir www
[root@localhost ~]# cd www/

# 建立幾個php指令碼用於測試
index.php
info.php

# 啟動一個Web伺服器
[root@localhost www]# php -S 192.168.204.151:8000
# 注意:因為我是採取虛擬機器中Linux,所以這裡直接使用了ip,如果是本地win下,可以直接localhost:8000

請求http://192.168.204.151:8000/,返回效果如下
使用PHP內建web伺服器,實現簡單的除錯應用
請求http://192.168.204.151:8000/info.php,返回效果如下

使用PHP內建web伺服器,實現簡單的除錯應用

啟動時指定一個根目錄

# 在~/www下建立一個test目錄,並新增php指令碼檔案(~/www/test/index.php)
mkdir ~/www/test

# 啟動web
[root@localhost www]# php -S 192.168.204.151:8000 -t test/

訪問測試

使用PHP內建web伺服器,實現簡單的除錯應用

指定某個指令碼,使其作為router

# 先建立一個router.php
[root@localhost www]# vi router.php
[root@localhost www]# cat router.php 
<?php
if (preg_match('/\.(?:png|jpg|jpeg|gif|txt)$/', $_SERVER["REQUEST_URI"]))
    return false;    // 直接返回請求的檔案
else { 
    echo "<p>Welcome to PHP</p>";
}

# 建立一個txt檔案或者圖片
[root@localhost www]# ll
-rw-r--r-- 1 root root  31 124 10:56 hello.txt  測試用
-rw-r--r-- 1 root root  65 124 10:35 index.php
-rw-r--r-- 1 root root  17 124 10:36 info.php
-rw-r--r-- 1 root root 177 124 10:55 router.php
drwxr-xr-x 2 root root  23 124 10:49 test

# 啟動web
[root@localhost www]# php -S 192.168.204.151:8000 router.php
# 請求需要經過router.php處理

直接請求192.168.204.151:8000/
使用PHP內建web伺服器,實現簡單的除錯應用
請求一個txt檔案,返回改檔案的內容
使用PHP內建web伺服器,實現簡單的除錯應用

總結:使用這種方式,個人做測試時比較方便,如有錯誤之處,歡迎指正!

本作品採用《CC 協議》,轉載必須註明作者和本文連結
六月的風

相關文章