Caddy 是一款用 Go 编写的可扩展 Web 服务器,默认自动启用 HTTPS,支持 HTTP/1.1、HTTP/2 和 HTTP/3。
php/frankenphp
基于 Caddy 构建的现代 PHP 应用服务器,支持 worker 模式、Early Hints 与 HTTP/3。
- Star
- 11,441
- Fork
- 498
- 未关闭 Issue
- 117
- 最近提交
- 9小时前
这是什么?
FrankenPHP 是用 Go 编写、基于 Caddy Web 服务器构建的 PHP 应用服务器,可运行任意 PHP 应用。它提供 worker 模式(应用在请求之间保持常驻内存),并支持 Early Hints、通过 Mercure 实现的实时通信以及热重载,同时内置自动 HTTPS、HTTP/2 和 HTTP/3。
项目提供适用于 Linux、macOS(Apple Silicon)和 Windows 的独立二进制文件,也提供 rpm、deb、apk 包、Homebrew 和 Docker 镜像。Laravel 与 Symfony 都有官方的 worker 模式集成。它还可以作为 Go 库,嵌入到基于 net/http 的应用中。
通过 `frankenphp php-server` 可以直接提供目录内容的服务,`frankenphp php-cli` 则用于运行命令行脚本。项目还支持构建独立的自执行 PHP 应用和静态二进制文件,并允许开发者用 Go 编写 PHP 扩展。
核心功能
- 01worker 模式可让应用在请求之间保持加载状态。
- 02支持 Early Hints(103 状态码)、HTTP/2 和 HTTP/3。
- 03内置自动 HTTPS,并通过 Mercure 提供实时通信能力。
- 04开发时支持热重载。
- 05提供独立二进制文件、系统软件包和 Docker 镜像。
适用场景
- 以 worker 模式运行 Laravel 或 Symfony 应用,提升吞吐量。
- 用单一服务器二进制文件替代 Nginx 与 PHP-FPM 的组合。
- 在基于 net/http 的 Go 服务中嵌入 PHP。
- 将 PHP 应用打包为可自执行的二进制文件。
快速上手
- 1
使用 Homebrew 安装 FrankenPHP
brew install dunglas/frankenphp/frankenphp - 2
提供当前目录的内容
frankenphp php-server - 3
在浏览器中打开 https://localhost 并接受自签名证书
使用前须知
- 独立的 macOS 二进制文件仅支持 Apple Silicon。
- 本地 HTTPS 使用需要手动接受的自签名证书。
标签
常见问题
- frankenphp 是什么?
- 基于 Caddy 构建的现代 PHP 应用服务器,支持 worker 模式、Early Hints 与 HTTP/3。 FrankenPHP 是用 Go 编写、基于 Caddy Web 服务器构建的 PHP 应用服务器,可运行任意 PHP 应用。它提供 worker 模式(应用在请求之间保持常驻内存),并支持 Early Hints、通过 Mercure 实现的实时通信以及热重载,同时内置自动 HTTPS、HTTP/2 和 HTTP/3。
- frankenphp 可以免费使用吗?用的什么许可证?
- frankenphp 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- frankenphp 还在维护吗?
- 活跃维护中。frankenphp 最近一次提交是在 2026年10月21日。
- frankenphp 适合用来做什么?
- 以 worker 模式运行 Laravel 或 Symfony 应用,提升吞吐量。 用单一服务器二进制文件替代 Nginx 与 PHP-FPM 的组合。 在基于 net/http 的 Go 服务中嵌入 PHP。 将 PHP 应用打包为可自执行的二进制文件。
- frankenphp 怎么安装和运行?
- 使用 Homebrew 安装 FrankenPHP: brew install dunglas/frankenphp/frankenphp 提供当前目录的内容: frankenphp php-server 在浏览器中打开 https://localhost 并接受自签名证书
- 在哪里获取 frankenphp?
- 源代码和安装说明在 GitHub 上:https://github.com/php/frankenphp
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用 C 编写的高性能 Web 服务器,兼具反向代理、负载均衡、API 网关和内容缓存功能。
一个 Go 服务的 Clean Architecture 项目模板,展示如何组织 REST、gRPC 及消息 RPC 等多种传输层的代码。
GoWA 是用 Go 编写的自托管 WhatsApp REST API,支持多账号、Webhook、MCP 和 Chatwoot 集成。
可自托管的开源邮件 API,通过 SMTP 使用自有基础设施发送邮件,并提供日志、退信处理和 Webhook。