macOS 10.15卸载旧PHP并安装PHP8.2遇版本不一致及卸载报错求助
解决macOS 10.15下PHP版本不一致及卸载旧版安装PHP 8.2的方案
一、先明确PHP实例来源
终端php -v显示7.3、网页显示8.2,说明系统存在多套PHP环境:
- 终端调用的是系统自带或非brew渠道安装的PHP
- 网页端的PHP 8.2并非brew安装(brew卸载提示找不到对应keg)
二、卸载终端的PHP 7.3
定位终端PHP的安装路径:
which php输出若为
/usr/bin/php则是系统自带PHP;若为/usr/local/bin/php等路径则是非系统自带版本。处理不同来源的PHP:
- 系统自带PHP:不建议直接删除,后续通过环境变量配置让终端优先使用新安装的PHP即可。
- 非系统自带PHP:
- 删除安装目录(假设路径为
/usr/local/php73):sudo rm -rf /usr/local/php73 - 删除相关软链接:
sudo rm /usr/local/bin/php sudo rm /usr/local/bin/phpize sudo rm /usr/local/bin/php-config
- 删除安装目录(假设路径为
三、清理网页端的PHP 8.2
根据你使用的web服务器操作:
Apache环境:
- 编辑Apache配置文件(通常为
/etc/apache2/httpd.conf或/etc/apache2/other/php.conf) - 注释掉加载PHP 8.2模块的行(类似
LoadModule php8_module ...) - 重启Apache:
sudo apachectl restart
- 编辑Apache配置文件(通常为
Nginx环境:
- 编辑Nginx配置文件(如
/usr/local/etc/nginx/nginx.conf或站点独立配置文件) - 注释掉指向PHP-FPM的
fastcgi_pass相关配置 - 重启Nginx:
sudo nginx -s reload
- 编辑Nginx配置文件(如
四、通过brew安装PHP 8.2
- 更新brew仓库:
brew update - 安装PHP 8.2:
brew install php@8.2 - 配置终端环境变量(优先使用brew安装的PHP):
- 若使用zsh,编辑
~/.zshrc;若用bash,编辑~/.bash_profile:echo 'export PATH="/usr/local/opt/php@8.2/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/php@8.2/sbin:$PATH"' >> ~/.zshrc - 生效配置:
source ~/.zshrc
- 若使用zsh,编辑
- 配置web服务器使用brew的PHP 8.2:
- Apache:
brew link php@8.2 --force sudo apachectl restart - Nginx:
修改Nginx配置,将fastcgi_pass指向127.0.0.1:9000(brew PHP-FPM默认端口),然后重启服务:brew services restart php@8.2 sudo nginx -s reload
- Apache:
五、验证安装结果
- 终端验证:
确认输出为PHP 8.2.x版本。php -v - 网页验证:
在本地web根目录创建phpinfo.php,内容为:
访问<?php phpinfo(); ?>http://localhost/phpinfo.php,确认页面显示的PHP版本为8.2.x。
内容的提问来源于stack exchange,提问作者Pawan Kumar
相关产品推荐
相关产品推荐

