首頁  >  文章  >  後端開發  >  FrankenPHP:現代 PHP 應用伺服器,用 Go 寫

FrankenPHP:現代 PHP 應用伺服器,用 Go 寫

DDD
DDD原創
2024-09-13 06:15:32528瀏覽

FrankenPHP 是一個基於 Caddy Web 伺服器建立的現代 PHP 應用伺服器,為開發人員提供了 PHP-FPM 和 Nginx 等傳統設定的強大替代方案。在本文中,我將探討 FrankenPHP 如何透過工作模式、即時事件支援和自動 HTTPS 等尖端功能來提高效能、簡化部署並增強安全性。無論您使用 Laravel、Symfony、WordPress 或其他 PHP 框架,都可以了解為什麼 FrankenPHP 迅速成為尋求最佳化生產環境的開發人員的首選解決方案。

如果您是 PHP 開發人員,希望提高應用程式的效能、安全性和部署流程,那麼是時候考慮改用 FrankenPHP 作為您的生產 Web 伺服器了。 FrankenPHP 建立在強大的 Caddy Web 伺服器之上,帶來了 PHP-FPM 和 Nginx 等傳統設定無法比擬的現代創新。

憑藉工作模式(將應用程式保留在記憶體中以獲得更快的效能)等功能,以及允許應用程式和瀏覽器之間無縫通訊的即時事件功能,FrankenPHP 可以顯著提高應用程式的回應能力和使用者體驗。它還支援自動 HTTPS、HTTP/2 和 HTTP/3,確保您的應用程式安全並使用最新的 Web 協議,無需任何額外配置。

FrankenPHP 也透過將應用程式打包為獨立二進位檔案來簡化您的部署,從而無需管理 PHP-FPM 和 Nginx 等多個進程。無論您使用 Laravel、Symfony、WordPress 或任何其他 PHP 框架,FrankenPHP 都將使您的應用程式更快、更有效率、更易於管理。

對於希望簡化工作流程並為最終用戶提供更好效能的開發人員來說,切換到 FrankenPHP 是明智之舉。從今天開始探索,將您的 PHP 專案提升到一個新的水平。

FrankenPHP 概覽:

  • Caddy Webserver: 使用嵌入在最先進的 Web 伺服器中的官方 PHP 執行器:Caddy
  • 可擴充: 相容於 PHP 8.2、大多數 PHP 擴充和所有 Caddy 模組。
  • 只有一項服務: 設計時考慮到簡單性:只有一項服務,只有一個二進位! FrankenPHP 不需要 PHP-FPM,它使用自己專門為 Go Web 伺服器手工製作的 SAPI。
  • 輕鬆部署:雲端原生應用程式作為 Docker 映像提供。與 Kubernetes 和所有現代雲端平台相容。也可以將 PHP 應用程式打包為獨立的、可自執行的靜態二進位。
  • 工作模式:啟動您的應用程式一次並將其保留在記憶體中!它可以在幾毫秒內處理傳入的請求。
  • 103個早期提示:早期提示是網路平台的全新功能,可以將網站載入時間縮短30%。 FrankenPHP 是唯一支援早期提示的 PHP SAPI!
  • 即時:內建 Mercure 中心。將事件從 PHP 應用程式傳送到所有連接的瀏覽器,它們會立即接收 JavaScript 事件形式的有效負載!
  • Brotli、Zstandard 和 Gzip 壓縮: 開箱即用地支援現代壓縮格式。
  • 結構化日誌記錄:為您的日誌記錄提供更明確的格式和詳細資訊。
  • Prometheus 指標和追蹤: 內建 Prometheus 支援!
  • HTTP/2 和 HTTP/3: 對 HTTPS、HTTP/2 和 HTTP/3 的本機支援。
  • HTTPS 自動化: 自動 HTTPS 憑證產生、續約和撤銷。
  • 優雅的重新加載:借助優雅的重新加載,以零停機時間部署您的應用程式。
  • 支援 PHP 擴展: FrankenPHP 支援最受歡迎的 PHP 擴展,包括 OPcache 和 XDebug。

FrankenPHP: The Modern PHP App Server, written in Go

一個指令即可執行所有這些

# Docker
docker run -v $PWD:/app -p 443:443 dunglas/frankenphp

# Static binary
./frankenphp php-server

# Command-line script
./frankenphp php-cli /path/to/your/script.php

使用 FrankenPHP 的好處

使用 FrankenPHP 有很多好處,包括:

  • 提高效能: FrankenPHP 可以顯著提高 PHP 應用程式的效能,尤其是在工作模式下。 降低複雜性:FrankenPHP 無需單獨的 PHP-FPM 和 Nginx 進程,從而簡化了您的部署流程。
  • 提高安全性: FrankenPHP 自動支援 HTTPS、HTTP/2 和 HTTP/3,這有助於確保您的應用程式安全。
  • 更多功能:FrankenPHP 提供了一些傳統 PHP 應用伺服器所沒有的功能,例如早期提示和即時功能。

誰應該使用 FrankenPHP?

對於希望增強 PHP 應用程式部署的效能、安全性和簡單性的開發人員來說,FrankenPHP 是一個絕佳的選擇。它特別適合使用 Symfony、Laravel 和 WordPress 建立的專案。

FrankenPHP 入門

開始使用 FrankenPHP 很簡單。從網站下載 FrankenPHP 二進位文件,然後按照文件中提供的步驟進行操作。此外,還有大量線上教學和部落格文章可以引導您完成整個過程。

結論

FrankenPHP 是一個專為 PHP 設計的強大且使用者友好的應用程式伺服器。它增強了效能和安全性,並簡化了 PHP 應用程式的部署過程。如果您正在尋找先進的解決方案來簡化 PHP 開發工作流程,FrankenPHP 是一個絕佳的選擇,它提供了高效和現代的功能。

其他資源
FrankenPHP 網址:https://frankenphp.dev/
FrankenPHP 文件:https://frankenphp.dev/docs/
GitHub 上的 FrankenPHP:https://github.com/dunglas/frankenphp

以上是FrankenPHP:現代 PHP 應用伺服器,用 Go 寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn