內置的HTTP服務器【Modern PHP】



PHP5.4.0起,PHP內置了Web服務器。對本地開發是個極好的工具,便捷,無需安裝WAMP、XAMP或大新那個web服務器,就能在本地調試了。

啟動服務器

進入項目的根目錄下,執行命令

php -S localhost:4000   #地址:監聽端口

或者 直接指定網站根目錄

php -S localhost:4000 -t D:\website   

瀏覽器打開 localhost:4000,就可以進入到網站瀏覽應用。

如想停止PHP Web服務器,可關閉終端應用或按Ctrl+C。

配置服務器

指定初始化文件。使用專屬的php初始配置文件,對內存用量、文件上傳、分析或字節碼緩存有特殊要求。

php -S localhost:4000 -c app/config/php/ini

路由器腳本

內置服務器無法進行路由解析、轉發、重定向等,不支持.htaccess文件。因此很難使用多數流行的PHP框架中的常見的前端控制器。

使用路由器腳本彌補這個遺漏的功能。處理每個HTTP請求前,先執行這個路由器腳本。其作用跟.htaccess文件一樣。

php -S localhost:4000 router.php

路由器腳本 如對圖片的請求會返回相應的圖片,但對HTML文件的請求會顯示“Welcome to PHP”:

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false;  // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
?>

判斷是否為內置的服務器

<?php
    if(php_sapi_name() === 'cli_server'){
        //PHP內置服務器
    }else{
        //其他Web服務器
    }

缺點:不能在生產環境使用,只能本地開發使用。

  • 性能差。一次只能處理一個請求;
  • 支持少量的媒體類型;
  • 支持少量的URL重寫規則。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM