PHPlet 是一個完全由 PHP 編寫的 Web 伺服器,可替代 Apache 或 IIS。它結構清晰,採用類似 Java 的物件導向設計,是 PHP 開發者學習 Web Server 原理的絕佳教材。作者預測 PHP5 + PHPlet + SQLite(PPS 架構)將成為小型應用、程式演示的新選擇:整套系統僅 2-3 MB,免去 Apache、MySQL 依賴,極適合攜帶與部署。
php_sockets.dll 實現連接埠監聽。srvany.exe 註冊為 Windows 服務。sequential 模式)。| 元件 | 版本建議 | 下載來源 |
|---|---|---|
| PHP | 最新穩定版 ZIP 套件(含 DLL) | php.net |
| PHPlet | 最新穩定版 | phplet.sourceforge.net |
必須下載 ZIP 版,安裝版(精簡版)缺少所需的擴充 DLL。
D:\PHP4(建議路徑,避免後續路徑問題)。D:\PHP4\cli\php.exe 為 D:\PHP4\cli_php.exe,作為 PHPlet 啟動程式,共享 php.ini。D:\PHP4\go-pear.bat 安裝 PEAR(需網路下載套件)。php.exe path 選擇 D:\PHP4。include_path = ".;D:\PHP4\includes;D:\PHP4\PEAR"
extension_dir = "D:\PHP4\extensions\"
extension=php_sockets.dll
D:\PHP4\PHPlet。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"
D:\PHP4\PHPlet\bin\phpletstart.bat,設定 PHP_EXE = D:\PHP4\cli_php.exe。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 因常駐記憶體、單進程無切換開銷,效能表現驚人。
exit,需用 return 結束請求,否則會關閉整個伺服器進程。$response->write(),echo/print 會輸出到終端機而非瀏覽器。PHPlet 雖屬實驗性專案,但展示了「純 PHP 寫 Web Server」的可行性,對理解 Sockets、HTTP 協議、常駐記憶體架構極有參考價值。若你在研究輕量級部署或嵌入式 Web 介面,值得深入探索。