在 macos 15.2+ sequoia(arm64)上通过 homebrew 安装 frankenphp v1.4,需先安装并设为默认的 php@8.3,添加 dunglas/frankenphp tap 后 brew install,再在「完全磁盘访问」中授权 /opt/homebrew/bin/frankenphp,最后 frankenphp serve 启动成功。

在 macOS 15 Sequoia 上通过 Homebrew 安装 FrankenPHP v1.4,需绕过苹果新权限策略对 PHP 扩展加载路径的拦截,否则安装后启动会报错“Failed to load Zend extension”或直接拒绝初始化。
确认系统与环境前提
打开「系统设置 → 关于本机」,确认版本显示为 macOS 15.2 或更高(Sequoia);低于此版本无法运行 FrankenPHP v1.4 的原生 Apple Silicon 构建包。终端中执行 arch,输出必须为 arm64——M1/M2/M3 芯片用户才适用本流程,Intel Mac 不支持该版本。
确保已安装 Homebrew:运行 brew --version 应返回 4.3.0+ 版本号。若未安装,先执行官方脚本:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"。
⚠️ 注意:FrankenPHP v1.4 强制依赖 PHP 8.3+,且仅接受通过 Homebrew 管理的 PHP。如果你用 php.net 下载的二进制、MacPorts 或手动编译的 PHP,本安装将失败并无法修复。
安装 PHP 8.3 并设为默认
执行:brew install php@8.3。
等待安装完成(约 90 秒),然后运行:echo 'export PATH="/opt/homebrew/opt/php@8.3/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc。
验证是否生效:php -v 必须输出 PHP 8.3.x (cli),且 which php 返回路径含 /opt/homebrew/opt/php@8.3/bin/php。若仍指向系统自带 /usr/bin/php 或其他版本,说明 PATH 未正确重载,需重启终端或手动执行 source ~/.zshrc。
添加 FrankenPHP 官方 Tap 并安装
FrankenPHP 不在 Homebrew 默认仓库中,必须先添加其维护的 tap:
brew tap dunglas/frankenphp
这一步会拉取远程仓库元数据,耗时约 5~12 秒。若提示 “Error: Invalid tap name”,说明网络未连通 GitHub,可临时改用国内镜像源(如清华 TUNA)替换 brew 的 git 协议地址,方法见 brew help tap。
执行安装命令:brew install frankenphp。
安装过程自动编译适配 arm64 的二进制,并将 frankenphp 可执行文件软链至 /opt/homebrew/bin/。成功后终端会显示 frankenphp 1.4.x 字样。
首次运行前的关键授权
macOS Sequoia 对 PHP 运行时加载的动态扩展(如 opcache.so、pdo_sqlite.so)实施 TCC 策略校验。FrankenPHP 启动时会尝试预加载多个扩展,若未提前授权,系统将静默阻止加载并导致服务卡死在 “Loading extensions…” 状态。
打开「系统设置 → 隐私与安全性 → 完全磁盘访问」→ 点击左下角锁图标输入密码 → 点击「+」→ 按住 ⌘ + ⇧ + G,输入路径:/opt/homebrew/bin/frankenphp → 选中它并点击「添加」。
⚠️ 这一步不可跳过,且必须添加 frankenphp 二进制本身,而非其所在目录或 php 命令。添加后无需重启,但必须关闭所有已打开的 FrankenPHP 进程(可用 pkill -f frankenphp 清理)。
启动 FrankenPHP v1.4
在任意项目目录下,准备一个 index.php 文件(内容可为 <?php echo "OK"; ?>)。
执行:frankenphp serve --document-root .。
终端将输出类似 Server starting on http://127.0.0.1:8000 的提示。打开 Safari 访问该地址,页面显示 “OK” 即表示安装与运行全部完成。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











