最可靠的方式是直接下载github releases提供的预编译静态二进制文件,支持linux/macos/windows,开箱即用;包管理器安装版本控制有限;docker需显式指定带版本号的镜像tag。

直接下载对应版本的官方二进制文件是最可靠的方式,无需包管理器干预或依赖系统环境。
从 GitHub Releases 下载指定版本
FrankenPHP 每个正式发布版都提供预编译的静态二进制(Linux/macOS/Windows),包含 PHP 8.5 及常用扩展,开箱即用:
- 打开 frankenphp/releases
- 找到目标版本(如
v1.2.0),展开 Assets 列表 - 根据系统选择文件:
• Linux x86_64:frankenphp_1.2.0_linux_amd64.tar.gz
• macOS Intel:frankenphp_1.2.0_darwin_amd64.tar.gz
• macOS Apple Silicon:frankenphp_1.2.0_darwin_arm64.tar.gz
• Windows:frankenphp_1.2.0_windows_amd64.zip - 解压后得到单个可执行文件
frankenphp,赋予执行权限(Linux/macOS):chmod +x frankenphp
使用包管理器安装特定版本(有限支持)
部分包管理器支持指定版本,但稳定性与覆盖范围不如手动下载:
-
Homebrew(macOS):默认安装最新版;若需旧版,需切换 formula 分支或使用
brew extract+brew install组合,操作较复杂,不推荐日常使用 -
dnf(RHEL/CentOS/Fedora):可通过模块流指定 PHP 版本,但 FrankenPHP 主包本身不支持多版本共存,
sudo dnf install frankenphp始终拉取仓库默认版本 - apt(Debian/Ubuntu):deb 包未提供多版本索引,仅能安装源中当前发布的版本
Docker 中固定 FrankenPHP 版本
使用官方镜像时,务必在 FROM 行显式声明带版本号的 tag:
- 基础运行镜像:
FROM dunglas/frankenphp:v1.2.0 - 构建镜像:
FROM dunglas/frankenphp:static-builder-musl-v1.2.0 - 避免使用
:latest或无版本 tag,否则 CI/CD 中可能意外升级导致行为变更
注意:FrankenPHP 的版本号与内嵌 PHP 版本解耦,v1.2.0 固定搭载 PHP 8.5;如需其他 PHP 小版本(如 8.4),目前官方未提供,需自行基于源码构建。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











