phpenv 已弃用,不支持 apple silicon 和新版 macos;推荐用 homebrew 安装多版本 php(如 php@8.3)并通过 brew link 切换,或使用 docker 镜像按需运行。

phpenv 在 macOS 上不能直接使用,官方已停止维护,且不支持 Apple Silicon 和新版 macOS。
phpenv 已被弃用,macOS 上没有可靠可用版本
phpenv 最后一次更新是 2017 年,早已不再维护。它依赖过时的 autoconf 和 libxml2 构建链,在 macOS Monterey(12.0)之后彻底失效;Apple Silicon(M1/M2/M3)下编译会失败,报错类似 configure: error: unrecognized options: --with-libxml-dir。Homebrew 官方仓库也已移除 phpenv 包,brew install phpenv 会返回 Error: No available formula or cask with the name "phpenv"。
Mac 上替代 phpenv 的实际可行方案
目前 macOS 开发者管理多版本 PHP 的主流方式只有两种,都比 phpenv 更稳定、更适配新系统:
- 用
brew install php@8.1、brew install php@8.2、brew install php@8.3分别安装多个版本,再通过brew link --force php@8.2切换默认版本 —— 简单、路径清晰、无额外依赖 - 用
docker run --rm -v $(pwd):/app -w /app php:8.3-cli php script.php按需拉取官方镜像执行 —— 隔离干净,适合测试兼容性,不污染本地环境
注意:phpenv 和 pyenv 名字相似,但生态完全不同;pyenv 仍在活跃维护,而 phpenv 不是它的 PHP 版本对应物。
为什么不要尝试手动编译或 fork 旧版 phpenv
即使你找到某个 GitHub fork 声称“修复了 M1 支持”,实际运行仍大概率失败:
- PHP 8.x 要求 OpenSSL 3.0+,而老版 phpenv 脚本硬编码调用
openssl-1.1路径 - macOS Ventura 及以后禁用
/usr/include,导致 configure 阶段找不到php_config.h - Homebrew 4.0+ 改变了
opt目录结构,phpenv的路径探测逻辑完全失效
这些不是配置问题,是工具链断代造成的结构性不兼容。
真正需要多版本 PHP 的人,最后都会回到 brew 多版本共存 + alias 或 shell 函数封装的路子上 —— 看似原始,但稳定、可预测、出问题能快速定位到具体 php@x.y 公式本身。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











