如何在Mac OS 11上卸载Homebrew源码编译安装的PHP 7.3
问题解答
首先明确两个核心误区:
- Apple Silicon 设备默认开启系统完整性保护(SIP),你没有权限修改
/usr/bin/目录下的系统文件,优先级更高的PHP7.3残留文件并不存放在该目录下 - 仅删除二进制文件无法清理配置、扩展、头文件等全部残留,容易留下冗余文件
完整清理步骤
步骤1:确认残留文件路径
执行以下命令查看当前生效的PHP路径和所有已安装的PHP可执行文件位置:
which php whereis php
如果输出中优先展示的路径不是Homebrew M1版默认的/opt/homebrew/bin/php,而是/usr/local/bin/php,说明源码编译的PHP残留默认安装在/usr/local目录下。
如果你编译时通过--prefix=自定义路径指定了安装目录,直接删除整个自定义目录即可完成全部清理,无需执行后续路径删除操作。
步骤2:逐一删除残留文件
默认安装路径下的PHP7.3残留分布在以下位置,确认内容对应PHP7.3后逐一删除即可:
/usr/local/bin/php*所有php开头的可执行文件/usr/local/include/php/PHP头文件目录/usr/local/lib/php/扩展、库文件目录/usr/local/etc/php/配置文件目录/usr/local/php/编译生成的PHP根目录(如果存在)/usr/local/man/man1/php*.1对应的手册文件
步骤3:修正Homebrew PHP优先级
清理完成后,打开你当前使用的shell配置文件(默认zsh对应~/.zshrc,bash对应~/.bash_profile),添加以下内容确保Homebrew路径优先加载:
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
保存后执行source ~/.zshrc(对应你的配置文件)生效,执行php -v即可验证版本已切换到你安装的PHP8.0。
额外说明
PHP7.3确实没有官方适配Apple Silicon架构的版本,如果你后续必须使用PHP7.3,可以通过Rosetta 2转译运行x86版本的Homebrew安装对应版本,无需自行编译。
内容的提问来源于stack exchange,提问作者Alejandro Pages
相关产品推荐
相关产品推荐

