You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OSX下Homebrew管理PHP版本异常:unlink php71后仍显示该版本

解决OSX下brew切换PHP版本后仍显示旧版本的问题

这种情况我碰到过好几次,大概率是命令缓存、PATH优先级或者brew的链接没处理干净导致的。给你一步步排查解决:

  • 第一步:先搞清楚当前php命令到底指向哪里
    运行这两个命令,看看实际路径和软链接指向:

    which php
    ls -l $(which php)
    

    如果输出的路径不是/usr/local/bin/php,那可能是系统自带的PHP或者其他地方的版本在干扰;如果是/usr/local/bin/php但软链接还指向php71,说明brew的unlink没生效。

  • 第二步:刷新shell的命令缓存
    有时候shell会缓存命令的路径,unlink后没及时更新,运行:

    hash -r
    

    之后再执行php -v看看版本有没有变化。

  • 第三步:确保php56已安装并正确链接
    首先如果还没装php56,先安装:

    brew install php56
    

    然后彻底unlink php71(如果之前unlink没成功,加--force强制):

    brew unlink --force php71
    

    再链接php56,同样如果有冲突就加--force:

    brew link --force php56
    
  • 第四步:检查PATH环境变量优先级
    brew安装的PHP在/usr/local/bin,系统自带的在/usr/bin,必须让/usr/local/bin在PATH里的顺序早于/usr/bin,否则系统自带的会优先被调用。
    运行echo $PATH看输出的顺序,如果/usr/local/bin在/usr/bin后面,就需要修改你的shell配置文件:

    • 如果用bash,编辑~/.bash_profile;如果用zsh,编辑~/.zshrc
    • 添加一行:
      export PATH="/usr/local/bin:$PATH"
      
    • 保存后刷新配置:
      # bash用户
      source ~/.bash_profile
      # zsh用户
      source ~/.zshrc
      

最后再运行php -v,应该就能看到php56的版本了。

内容的提问来源于stack exchange,提问作者Miguel Stevens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:51:20