m3芯片mac必须使用frankenphp-darwin-arm64.tar.gz,下错架构会触发exec format error或bad cpu type in executable;需通过「关于本机」确认m3芯片、macos≥13.0,并用uname -m和file命令验证arm64原生性。

在M3芯片Mac上安装原生ARM64版FrankenPHP v1.2.0,必须严格匹配darwin-arm64二进制,下错架构将直接触发exec format error或Bad CPU type in executable,且无法通过Rosetta补救——FrankenPHP不支持转译运行。
确认M3芯片与系统环境
点击左上角苹果图标 →「关于本机」→ 查看「芯片」是否明确显示“Apple M3”;同时确认「macOS版本」≥13.0(Ventura),因FrankenPHP v1.2.0依赖较新的系统调用接口,低于该版本可能在启动时静默退出。
打开终端,执行uname -m,输出必须为arm64;若显示x86_64,说明当前Shell正被Rosetta加载,需退出终端重开,或检查~/.zprofile中是否误加了arch -x86_64前缀。
下载正确架构的FrankenPHP二进制
方法一:官网直链下载(推荐)
访问FrankenPHP官方GitHub Releases页面:https://www.php.cn/link/9e345bee891c316380d5b81b96c1147a,向下滚动至Assets列表,【仅下载frankenphp-darwin-arm64.tar.gz】。切勿点击任何带“universal”、“amd64”、“linux”字样的包,它们在M3上完全不可用。
方法二:curl命令行获取(防误点)
在终端中逐字复制执行:curl -L -o frankenphp-darwin-arm64.tar.gz https://github.com/dunglas/frankenphp/releases/download/v1.2.0/frankenphp-darwin-arm64.tar.gz。该URL硬编码架构,杜绝手动选错可能。
注意:Homebrew目前未收录FrankenPHP v1.2.0的arm64公式,brew install frankenphp会失败或拉取旧版,不可用。
解压并验证ARM64原生性
第一步:解压到安全路径
执行mkdir -p ~/frankenphp && tar -xzf frankenphp-darwin-arm64.tar.gz -C ~/frankenphp,确保解压后目录内只有frankenphp可执行文件,无多余嵌套。
第二步:验证CPU架构
运行file ~/frankenphp/frankenphp,输出中必须同时含Mach-O 64-bit executable arm64和for architecture arm64。若出现x86_64或universal字样,立即删除并重下。
第三步:验证静态链接与权限
执行ldd ~/frankenphp/frankenphp,应返回not a dynamic executable;再运行chmod +x ~/frankenphp/frankenphp,赋予执行权限。这一步不可跳过,否则后续运行报Permission denied。
配置PATH并测试运行
将FrankenPHP加入全局可用路径:
编辑~/.zprofile(不是.zshrc,GUI应用如VSCode只读该文件),追加一行:export PATH="$HOME/frankenphp:$PATH"。
重新加载配置:source ~/.zprofile,然后执行which frankenphp,输出应为/Users/你的用户名/frankenphp/frankenphp。
最后运行frankenphp --version,输出必须为FrankenPHP v1.2.0;再执行frankenphp --help | head -n 5,确认无panic、segmentation fault或架构错误提示。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











