首页 >后端开发 >php教程 >FrankenPHP:现代 PHP 应用服务器,用 Go 编写

FrankenPHP:现代 PHP 应用服务器,用 Go 编写

DDD
DDD原创
2024-09-13 06:15:32676浏览

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