PHP5.4內建web伺服器_php實例
PHP是一種腳本語言,它需要PHP解釋器來分析執行PHP檔案。當把PHP做為CGI服務Web請求時,它需要被嵌入到某種Web伺服器裡,最常見的是整合到Apache或IIS裡,這就是說,在使用PHP之前,你需要安裝Apache或IIS,並且正確的配置它們和PHP整合的參數。雖然這種配置已經很規範,文件非常豐富,但我們還是經常在安裝Apache和PHP整合時遇到問題,而且,有時候我們只想測試一個簡單的PHP特徵,不想就為此安裝、啟動Apache服務。
但根據官方文件上說,這個內建的Web伺服器只是提供開發測試使用,不建議使用中生產環境中。因為這個伺服器接受處理請求時順序執行的,不能並發處理。
這個內建的網頁伺服器使用起來非常的方便,你只需要執行下面的指令:
$ php -S localhost:8000
然後就可以訪問了。這樣啟動後,預設的web服務目錄就是執行指令的目前目錄,如果不想使用目前目錄,你需要使用 -t 參數來指定。
例 #1 啟動Web伺服器
$ cd ~/public_html
$ php -S localhost:8000
終端輸出資訊:
PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C 至 quit
當請求了 http://localhost:8000/ 和 http://localhost:8000/myscript.html 位址後,終端輸出類似如下的資訊:
PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011 Listening on localhost:8000 Document root is /home/me/public_html Press Ctrl-C to quit. [Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read [Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read [Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read [Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read [Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read
例 #2 啟動網頁伺服器時指定文件的根目錄
$ cd ~/public_html
$ php -S localhost:8000 -t foo/
終端顯示資訊:
PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /home/me/public_html/foo
Press Ctrl-C 至 quit
如果你在啟動命令列後面附加一個php腳本文件,那麼這個文件將會被當成一個「路由器」腳本。這個腳本將負責所有的HTTP請求,如果這個腳本執行時回傳FALSE,則被要求的資源會正常的回傳。如果不是FALSE,瀏覽裡面顯示的將會是這個腳本產生的內容。
例 #3 使用路由器腳本
在這個範例中,對圖片的請求會傳回對應的圖片,但對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 -S localhost:8000 router.php
例 #4 判斷是否是在使用內建網頁伺服器
透過程式判斷來調整同一個PHP路由器腳本在內建Web伺服器中和在生產伺服器中的不同行為:
<?php // router.php if (php_sapi_name() == 'cli-server') { /* route static assets and return false */ } /* go on with normal index.php operations */ ?>
$ php -S localhost:8000 router.php
這個內建的web伺服器能辨識一些標準的MIME類型資源,它們的擴充功能有:.css, .gif, .htm, .html, .jpe, .jpeg, .jpg, .js, .png, .svg, and .txt。對.htm 和 .svg 擴展到支援是在PHP 5.4.4之後才支援的。
例 #5 處理不支援的檔案類型
如果你希望這個Web伺服器能夠正確的處理不被支援的MIME檔案類型,這樣做:
<?php // router.php $path = pathinfo($_SERVER["SCRIPT_FILENAME"]); if ($path["extension"] == "ogg") { header("Content-Type: video/ogg"); readfile($_SERVER["SCRIPT_FILENAME"]); } else { return FALSE; } ?> $ php -S localhost:8000 router.php
如果你希望能遠端的存取這個內建的web伺服器,你的啟動指令需要改成下面這樣:
例 #6 遠端存取這個內建Web伺服器
$ php -S 0.0.0.0:8000
這樣你就可以透過 8000 連接埠遠端的存取這個內建的web伺服器了
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

在PHP8 中,match表達式是一種新的控制結構,用於根據表達式的值返回不同的結果。 1)它類似於switch語句,但返回值而非執行語句塊。 2)match表達式使用嚴格比較(===),提升了安全性。 3)它避免了switch語句中可能的break遺漏問題,增強了代碼的簡潔性和可讀性。

在PHP中可以通過使用不可預測的令牌來有效防範CSRF攻擊。具體方法包括:1.生成並在表單中嵌入CSRF令牌;2.在處理請求時驗證令牌的有效性。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP用於構建動態網站,其核心功能包括:1.生成動態內容,通過與數據庫對接實時生成網頁;2.處理用戶交互和表單提交,驗證輸入並響應操作;3.管理會話和用戶認證,提供個性化體驗;4.優化性能和遵循最佳實踐,提升網站效率和安全性。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。
