FrankenPHP v1.0 发布
最后更新于 作者: Paul Redmond
FrankenPHP 本周取得了重大进展,发布了 v1.0 版本。FrankenPHP 是一个用 Go 编写的现代 PHP 应用程序服务器,只需一个命令即可提供生产级 PHP 服务器。
它包含对 Symphony、Laravel、WordPress 等的原生支持。
- 生产级 PHP 服务器,由 Caddy 提供支持
- 轻松部署 - 将您的 PHP 应用程序打包为独立的自执行二进制文件
- 仅运行一项服务 - 不再需要单独的 PHP-FPM 和 Nginx 进程
- 可扩展 - 与 PHP 8.2+、大多数 PHP 扩展和所有 Caddy 模块兼容
- 工作进程模式 - 启动您的应用程序一次并将其保存在内存中
- 实时事件作为 JavaScript 事件发送到浏览器
- Zstandard 和 Gzip 压缩
- 结构化日志记录
- 使用内置的 Prometheus 指标 监控 Caddy
- 原生支持 HTTPS、HTTP/2 和 HTTP/3
- 自动 HTTPS 证书和续订
- 优雅发布 - 以零停机时间部署您的应用程序
- 支持 提前提示
**Laravel Octane 是否支持 FrakenPHP?** 还没有,但有一个积极的拉取请求要 将 FrankenPHP 支持添加到 Laravel Octane。
**支持哪些 PHP 模块?** 我试图寻找一个明确的列表,但据我了解,大多数流行的 PHP 扩展应该可以工作。文档确认 FrankenPHP 原生支持 OPcache 和 Debug。
FrakenPHP 使用 `static-php-cli` 进行构建,因此 此扩展列表 应该准确地反映哪些扩展是支持的(感谢 Francis Lavoie)。
了解更多
您可以在 frankenphp.dev 开始使用 FrankenPHP,并浏览 文档 以了解有关工作进程模式、Docker 镜像和创建应用程序的静态二进制文件的更多信息。
如果您想尝试使用您的应用程序,最简单的方法是运行以下 Docker 命令
docker run -v $PWD:/app/public \ -p 80:80 -p 443:443 \ dunglas/frankenphp
对于 Laravel,您需要运行以下 Docker 命令(FrankenPHP Laravel 文档 提供了完整的设置说明)
docker run -p 443:443 -v $PWD:/app dunglas/frankenphp
如果您不想使用 Docker,您也可以在 macOS 和 Linux 上运行 `frankenphp` 二进制文件。