Mac OS Monterey系统下PHP 7.3降级至7.2版本失败问题咨询
Mac OS Monterey brew切换PHP7.2不生效解决方案
- 先确认brew link操作完全生效,执行带强制覆盖参数的link命令:
brew link --overwrite --force php@7.2 - 排查Shell PATH优先级问题,这是90%以上同类问题的根因
- 先执行
which php查看当前调用的PHP路径,若输出路径不是/usr/local/bin/php(Intel芯片)或/opt/homebrew/bin/php(Apple Silicon芯片),说明系统优先加载了其他位置的PHP版本 - 检查当前Shell的配置文件,常用配置文件路径为
~/.zshrc(Monterey起系统默认Shell为zsh)、~/.bash_profile、~/.profile,排查是否存在提前写入的PHP7.3路径配置,如export PATH="/usr/local/opt/php@7.3/bin:$PATH",删除对应行或修改为PHP7.2的路径即可 - 手动写入PHP7.2的路径到Shell配置,Intel芯片执行以下命令:
Apple Silicon芯片执行以下命令:echo 'export PATH="/usr/local/opt/php@7.2/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@7.2/sbin:$PATH"' >> ~/.zshrcecho 'export PATH="/opt/homebrew/opt/php@7.2/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/opt/homebrew/opt/php@7.2/sbin:$PATH"' >> ~/.zshrc - 重载Shell配置使修改生效:
source ~/.zshrc
- 先执行
- 验证版本是否切换成功
执行php -v查看输出的版本号,若仍显示7.3可重启终端再试。如需确认配置文件加载路径,执行php -i | grep "Loaded Configuration File",确认返回的路径包含php@7.2字样即可 - 若使用Web服务(Apache/Nginx)需额外修改对应配置
Apache需修改httpd.conf中的PHP模块加载路径,将指向php7.3的LoadModule行修改为php7.2的对应路径;Nginx需修改站点配置中的fastcgi_pass参数,指向php7.2的fpm监听地址或socket路径,重启Web服务后生效
内容的提问来源于stack exchange,提问作者agoumi
相关产品推荐
相关产品推荐

