Mac通过Brew安装PHP 7.2后仍显示PHP 7.1的问题求助
解决Mac上PHP 7.2安装后仍显示7.1的版本切换问题
我来帮你搞定这个版本切换的问题,看起来你已经折腾了不少步骤但没到位,咱们一步步排查解决:
第一步:先搞清楚当前PHP的来源
首先得确认你现在用的PHP到底是哪来的,执行这条命令:
which php
- 如果输出是
/usr/bin/php,说明你当前调用的是Mac系统自带的PHP 7.1,它的优先级比brew安装的版本更高 - 如果输出是brew相关路径(比如
/usr/local/bin/php或~/.brew/bin/php),那大概率是brew的版本链接没配置对
第二步:调整环境变量,让brew版PHP优先执行
系统自带的PHP不建议直接删除(可能影响系统功能),咱们通过修改PATH环境变量,让brew安装的PHP 7.2先被调用:
- 打开你的shell配置文件:
- 用Bash的话,编辑
~/.bash_profile - 用Zsh(Mac现在默认shell)的话,编辑
~/.zshrc
- 用Bash的话,编辑
- 在文件末尾添加这两行:
export PATH="/usr/local/opt/php@7.2/bin:$PATH" export PATH="/usr/local/opt/php@7.2/sbin:$PATH"
- 让配置立即生效:
- Bash用户执行:
source ~/.bash_profile - Zsh用户执行:
source ~/.zshrc
- Bash用户执行:
第三步:强制brew链接PHP 7.2
执行这条命令,确保brew把PHP 7.2设为默认调用的版本:
brew link --force php@7.2
如果遇到权限报错,优先检查brew目录的权限,实在必要再考虑加sudo(不推荐随意用sudo操作brew)。
第四步:验证切换结果
执行下面两条命令确认是否成功:
php --version which php
如果一切正常,php --version会显示PHP 7.2的版本信息,which php会指向brew安装的PHP路径(比如 /usr/local/opt/php@7.2/bin/php)。
补充:为啥之前卸载PHP 7.1失败?
你之前用brew卸载时报错,是因为这个PHP 7.1不是通过brew安装的——大概率是Mac系统自带的版本,或者用其他工具(比如MacPorts)装的。系统自带的PHP受系统保护,没法用brew直接卸载,所以咱们用调整PATH优先级的方式绕开它就好,不用硬删。
内容的提问来源于stack exchange,提问作者Thais Avelino
相关产品推荐
相关产品推荐

