Apple Silicon(M1/M2/M3)Mac必须用arm64版FrankenPHP,Intel Mac用x86_64版;架构不匹配会报exec format error或bad CPU type in executable,Homebrew安装时通过brew tap dunglas/tap后执行brew install dunglas/tap/frankenphp可自动适配。

在 macOS 上用 Homebrew 安装 FrankenPHP 很直接,但要注意 CPU 架构匹配,尤其是 Apple Silicon(M1/M2/M3)设备默认需要 arm64 版本,否则运行时可能报 exec format error。
确认系统架构并安装 Homebrew(如未安装)
先打开终端,检查芯片类型:
arch # 输出应为 arm64(Apple Silicon)或 x86_64(Intel)
若尚未安装 Homebrew,执行官方一键脚本:
立即学习“PHP免费学习笔记(深入)”;
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完成后,按提示将 brew 环境加入 shell 配置文件(M1/M2/M3 写入 ~/.zprofile,Intel 写入 ~/.zshrc 或 ~/.bash_profile),再运行 source 生效。
添加官方 tap 并安装 FrankenPHP
FrankenPHP 不在 Homebrew 主仓库,需先添加维护者提供的第三方源:
brew tap dunglas/tap
然后安装:
brew install dunglas/tap/frankenphp
该命令会自动拉取适配当前架构的二进制(arm64 或 x86_64),无需额外指定参数。
验证安装与快速试用
安装完成后,检查版本和路径:
frankenphp version
which frankenphp
新建一个测试目录,放入简单 PHP 文件(如 public/index.php):
<?php echo "Hello from FrankenPHP"; ?>
启动内置服务器:
frankenphp php-server -r public/
访问 http://localhost:8080 即可看到输出。
常见问题处理
- 如果 Homebrew 安装后仍报架构错误,说明它误拉了非本地架构包——可手动下载 GitHub Releases 页面中对应
darwin-arm64或darwin-amd64的二进制,替换$(brew --prefix)/bin/frankenphp - Homebrew 默认从源码编译时也可能出错,建议优先使用预编译二进制(tap 中提供)
- 如需构建单文件部署包,后续可用
frankenphp build命令,但需确保项目结构含public/和正确配置



















