在過去十幾年裡,Nginx + PHP-FPM 的組合一直是 PHP 開發者的標準配備(LEMP Stack)。然而,隨著雲端原生(Cloud Native)與 Docker 容器技術的普及,這種「老牌組合」在設定複雜度與效能瓶頸上逐漸顯露疲態。

FrankenPHP 的出現,徹底顛覆了這個遊戲規則。它不只是一個伺服器,更是一個為現代開發流程量身打造的「全能型」PHP 運行環境。
1. 架構簡化:從「雙容器」回歸「單一鏡像」
傳統的 Docker 部署中,你通常需要兩個容器:一個跑 Nginx 處理 HTTP 請求,另一個跑 PHP-FPM 處理邏輯。這意味著你必須設定複雜的 FastCGI 通訊、共用磁碟卷(Volumes)以及管理兩個服務的生命週期。- FrankenPHP 的優勢:它將 PHP 直接嵌入到 Caddy Web Server 中。
- 對開發者的意義:你的
docker-compose.yml將變得極其簡潔。不再需要寫複雜的 Nginx Config,一個鏡像就搞定 Web Server + PHP 運行環境,部署與升級的穩定性大幅提升。
2. 效能革命:Worker Mode 讓 Laravel 飛起來
傳統 PHP 的運作方式是「無狀態」的:每次請求進來,PHP 都要從頭加載框架、讀取設定、連接資料庫,處理完後全部釋放。這對 Laravel 這種大型框架來說,是極大的資源浪費。
- Worker Mode(工作者模式):FrankenPHP 支援將 Laravel 框架常駐於記憶體中。框架只會在啟動時加載一次,隨後的請求直接由記憶體中的實例處理。
- 性能提升:根據官方與社群測試,開啟 Worker Mode 後,Laravel 的每秒請求數(RPS)通常能提升 3 到 5 倍,延遲(Latency)大幅降低。
3. 原生自動化:內建現代 Web 標準
對於現代開發者來說,安全性與速度同樣重要。FrankenPHP 繼承了 Caddy 的優秀基因:
- 自動 HTTPS:內建自動申請與更新 Let's Encrypt 憑證,完全不需要安裝 Certbot。
- HTTP/3 與 103 Early Hints:原生支援最新的傳輸協定,能讓瀏覽器更早地加載 CSS 和 JS 資源,顯著提升前端的 First Contentful Paint (FCP) 表現。
4. 與 Laravel 生態系的完美契合
Laravel 官方已經意識到 FrankenPHP 的潛力。透過 Laravel Octane,開發者可以輕鬆切換到 FrankenPHP 引擎。相比於 Swoole 或 RoadRunner,FrankenPHP 的安裝門檻更低,且更符合 PHP 原生的開發直覺。
5. 跨平台與單一執行檔
FrankenPHP 甚至支援將你的整個 Laravel 專案(包含 PHP 環境)打包成一個獨立的執行檔(Static Binary)。這意味著你可以像分發 Go 或 Rust 程式一樣,直接把一個檔案丟到伺服器上就能跑,完全不需要預裝 PHP。
結語
對開發者而言,FrankenPHP = 更少的設定 + 更強大的效能 + 更現代的特性。如果你正在使用 Docker 進行開發,或是準備為你的 Laravel 專案尋找更高效的生產環境,FrankenPHP 絕對是比傳統 Nginx + PHP-FPM 更值得投資的技術。
















