欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP 內(nèi)置WEB服務(wù)器的簡(jiǎn)單使用

 更新時(shí)間:2021年04月27日 08:52:35   作者:硬核項(xiàng)目經(jīng)理  
這篇文章主要介紹了PHP 內(nèi)置WEB服務(wù)器的簡(jiǎn)單使用,幫助大家更好的理解和學(xué)習(xí)使用PHP,感興趣的朋友可以了解下

在很多時(shí)候,我們需要簡(jiǎn)單的運(yùn)行一個(gè)小 demo 來(lái)驗(yàn)證一些代碼或者輪子是否可用,是否可以運(yùn)行起來(lái),但是去配 nginx 或者 apache 都很麻煩,其實(shí),PHP CLI 已經(jīng)提供了一個(gè)簡(jiǎn)單的測(cè)試服務(wù)器,我們直接就可以運(yùn)行起來(lái)進(jìn)行簡(jiǎn)單的一些測(cè)試工作。

直接啟動(dòng)一個(gè)內(nèi)置服務(wù)器

php -S localhost:8081

直接使用 -S 命令選項(xiàng),然后指定地址及端口號(hào),我們就可以運(yùn)行起來(lái)一個(gè) PHP 內(nèi)置的簡(jiǎn)易WEB服務(wù)器。默認(rèn)情況下,這個(gè)地址會(huì)找當(dāng)前目錄下的 index.php 或 index.html 文件。當(dāng)我們?cè)跒g覽器輸入指定的文件時(shí),就是訪問(wèn)指定的文件,如果都沒(méi)有找到會(huì)正常的返回404錯(cuò)誤。

而控制臺(tái)會(huì)輸出當(dāng)前服務(wù)器的訪問(wèn)情況,如下圖所示:

這個(gè)內(nèi)置服務(wù)器和用 nginx 等服務(wù)器搭起來(lái)的應(yīng)用服務(wù)器本質(zhì)上沒(méi)有太大的區(qū)別,包括 $_SERVER 之類(lèi)的內(nèi)容都可以正常獲取到,也可以正常使用 include 等功能加載其他文件,也就是說(shuō)這個(gè)內(nèi)置WEB服務(wù)器運(yùn)行一些框架也是沒(méi)有問(wèn)題的。它是可以完全滿(mǎn)足我們的測(cè)試要求的。但是需要注意的是,這個(gè)內(nèi)置WEB服務(wù)器不能用于生產(chǎn)環(huán)境。畢竟它的功能還是太簡(jiǎn)單,不是一個(gè)生產(chǎn)配備的高規(guī)格服務(wù)器應(yīng)用。

指定內(nèi)置服務(wù)器的運(yùn)行目錄

我們也可以在任何目錄去運(yùn)行指定目錄的php代碼,只需要再增加一個(gè) -t 選項(xiàng)來(lái)指明要運(yùn)行起服務(wù)器的根目錄即可。

php -S localhost:8081 -t dev-blog/php/202004/source

這樣我們就可以運(yùn)行起來(lái)一個(gè)以 dev-blog/php/202004/source 目錄為根目錄的測(cè)試環(huán)境服務(wù)器。

使用路由腳本

php -S localhost:8081 PHP的內(nèi)置WEB服務(wù)器.php

如果我們給當(dāng)前服務(wù)器直接指定了一個(gè)PHP文件,那么直接打開(kāi)鏈接就會(huì)訪問(wèn)的是這個(gè)文件的內(nèi)容,而不是去找 index.php 之類(lèi)的文件。即使我們繼續(xù)給 URL 后臺(tái)增加其他路徑或者其他文件名,它依然會(huì)打開(kāi)的是這個(gè)文件,也就是說(shuō),我們啟動(dòng)了一個(gè)單文件入口的應(yīng)用服務(wù)器程序。就像各種框架的 index.php 文件一樣,比如我們利用這個(gè)文件做一個(gè)簡(jiǎn)單的路由分發(fā)測(cè)試:

$routePages = [
    '/testRoute2.php',
    '/route/testRoute1.php'
];

if(in_array($_SERVER['REQUEST_URI'], $routePages)){
    include __DIR__ . $_SERVER['REQUEST_URI'];
}else{
    print_r($_SERVER);
}
// route/testRoute1.php
echo "Hello Route1!";

// testRoute2.php
echo "Hello Route2!";

兩個(gè)測(cè)試文件只是簡(jiǎn)單的輸出了一段文字用于區(qū)別分別加載了兩個(gè)文件。上述代碼的意思是我們?cè)L問(wèn)定義好的兩個(gè)路由路徑時(shí),就會(huì)加載對(duì)應(yīng)的文件,訪問(wèn)其他路徑則會(huì)打印當(dāng)前服務(wù)器的 $_SERVER 信息。

測(cè)試代碼: github.com/zhangyue050…

參考文檔: www.php.net/manual/zh/f

以上就是PHP 內(nèi)置WEB服務(wù)器的簡(jiǎn)單使用的詳細(xì)內(nèi)容,更多關(guān)于PHP 內(nèi)置服務(wù)器的使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論