首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Windows 平台安裝 PHPlet 輕量級 Web 伺服器完整教學

     編輯:PHP 綜合知識

PHPlet 是一個完全由 PHP 編寫的 Web 伺服器,可替代 Apache 或 IIS。它結構清晰,採用類似 Java 的物件導向設計,是 PHP 開發者學習 Web Server 原理的絕佳教材。作者預測 PHP5 + PHPlet + SQLite(PPS 架構)將成為小型應用、程式演示的新選擇:整套系統僅 2-3 MB,免去 Apache、MySQL 依賴,極適合攜帶與部署。

運行原理與限制

  • 使用 php_sockets.dll 實現連接埠監聽。
  • 常駐記憶體運行,可透過 srvany.exe 註冊為 Windows 服務。
  • 多進程模式僅支援 Linux/Unix,Windows 下僅能單進程循序處理請求(sequential 模式)。

一、資源下載

元件版本建議下載來源
PHP最新穩定版 ZIP 套件(含 DLL)php.net
PHPlet最新穩定版phplet.sourceforge.net
必須下載 ZIP 版,安裝版(精簡版)缺少所需的擴充 DLL。

二、PHP 安裝與 PEAR 設定

  1. 解壓至 D:\PHP4(建議路徑,避免後續路徑問題)。
  2. 複製 D:\PHP4\cli\php.exe 為 D:\PHP4\cli_php.exe,作為 PHPlet 啟動程式,共享 php.ini。
  3. 以 Administrator 身分執行 D:\PHP4\go-pear.bat 安裝 PEAR(需網路下載套件)。
  4. 安裝過程中第 7 項 php.exe path 選擇 D:\PHP4。
  5. 確認安裝內建套件:DB, Net_Socket, Net_SMTP, Mail, XML_Parser, PHPUnit。

修改 php.ini 關鍵設定

include_path = ".;D:\PHP4\includes;D:\PHP4\PEAR"
extension_dir = "D:\PHP4\extensions\"
extension=php_sockets.dll

三、PHPlet 設定與啟動

  1. 解壓至 D:\PHP4\PHPlet。
  2. 編輯 D:\PHP4\PHPlet\config\phplet.conf:
WEB_ROOT = "D:\\PHP4\\PHPlet\\www"
HTTP_HOSTNAME = "localhost"  # 建議改為實際 IP,否則其他機器無法存取
HTTP_HOSTPORT = "8080"
HTTP_SERVER_MODE = "sequential"
HTTP_SERVER_DEBUG = "false"
PHP_EXECUTABLE = "D:\\PHP4\\php.exe"
CLASSLOADER_SINTAX_CHECK = "false"
  1. 編輯 D:\PHP4\PHPlet\bin\phpletstart.bat,設定 PHP_EXE = D:\PHP4\cli_php.exe。
  2. 雙擊 phpletstart.bat 啟動,瀏覽器訪問 https://localhost:8080/phplet/HelloWorld 測試。

四、效能測試數據

測試環境:Server A (AMD K6-2 400 + 128MB RAM, PHP4+PHPlet);Client B (P4 2.6G + 512MB, Win2003+IE6)。Client 瘋狂按 F5 刷新 1 分鐘,Server CPU 維持 60% 左右;同條件下 Apache2+PHP4(CGI) 會飆至 100% 甚至耗盡虛擬記憶體。PHPlet 因常駐記憶體、單進程無切換開銷,效能表現驚人。

五、開發注意事項(重要)

  1. 類 Servlet 行為:腳本載入後常駐記憶體,修改 .php 檔案不會即時生效,必須重啟服務。
  2. HTTP_HOSTNAME 建議設為實際 IP,而非 localhost。
  3. 程式中禁止使用 exit,需用 return 結束請求,否則會關閉整個伺服器進程。
  4. 輸出內容請用 $response->write(),echo/print 會輸出到終端機而非瀏覽器。
  5. 不支援虛擬目錄與虛擬主機功能。

六、結語

PHPlet 雖屬實驗性專案,但展示了「純 PHP 寫 Web Server」的可行性,對理解 Sockets、HTTP 協議、常駐記憶體架構極有參考價值。若你在研究輕量級部署或嵌入式 Web 介面,值得深入探索。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved