如何在macOS Mojave上让MacPorts安装的PHP 7.3生效?
解决macOS Mojave下MacPorts安装PHP7.3后默认版本未切换的问题
问题原因
你的.bash_profile中PATH环境变量顺序设置错误,系统自带PHP所在的/usr/bin目录排在MacPorts的/opt/local/bin之前,导致执行php命令时优先调用系统自带的PHP 7.1版本。
解决方案
方案一:调整PATH环境变量顺序
修改~/.bash_profile中的PATH定义,将MacPorts的目录放在最前面,确保优先调用MacPorts安装的程序:
# 优先加载MacPorts目录 PATH=/opt/local/bin:/opt/local/sbin:"$PATH" # 添加其他常用目录 PATH=/usr/local/bin:/usr/local/sbin:"$PATH" PATH=/usr/bin:/bin:/sbin:/opt/bin:"$PATH" export PATH # 保留原有其他配置 export PATH=${PATH}:/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/ export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
执行以下命令使修改生效:
source ~/.bash_profile
之后执行php -v即可验证是否切换到PHP 7.3版本。
方案二:使用MacPorts自带的版本切换工具(推荐)
MacPorts提供port select命令专门管理多版本软件的默认调用,执行以下命令设置默认PHP为7.3:
sudo port select --set php php73
输入系统密码后,直接执行php -v就能看到PHP 7.3版本。后续若需切换其他PHP版本,只需将命令中的php73替换为对应版本标识(如php74)即可。
验证
执行以下命令查看当前php命令的指向:
which php
若输出/opt/local/bin/php,说明已成功切换到MacPorts安装的PHP版本。
内容的提问来源于stack exchange,提问作者pop
相关产品推荐
相关产品推荐

