CentOS 7系统无法卸载PHP 8及替换为PHP 7.4的问题咨询
问题原因
- 你安装的PHP 8.0.12未注册到yum的RPM包数据库中,因此执行
yum remove php无法匹配到对应安装包,常见场景有三类:- 手动编译源码安装PHP,这类安装方式不会写入yum包记录
- 通过第三方源安装时包名带版本后缀(如remi源的PHP8包名格式为
php80-php*),直接匹配php无法命中 - 使用面板工具、绿色二进制包等非RPM方式安装,yum数据库无对应记录
解决步骤
第一步:卸载现有PHP 8.0.12
- 先定位PHP可执行文件路径,执行命令:
which php - 检查是否为RPM包安装:
rpm -qa | grep php
- 如果输出了大量带
php80前缀的包,说明是第三方源带版本号的安装包,执行批量卸载:yum remove php80* -y - 如果没有输出任何RPM包,说明是编译/二进制安装,先终止PHP相关进程:
pkill php-fpm
再根据which php返回的路径删除对应安装目录和软链接,例如默认编译安装路径的清理命令:rm -rf /usr/local/phprm -f /usr/bin/php /usr/local/bin/php
如果配置了PHP相关的systemd服务,同时删除对应服务文件并重载配置:rm -f /etc/systemd/system/php*systemctl daemon-reload
- 验证卸载结果,执行
php -v,无版本输出即为卸载完成。
第二步:安装PHP 7.4
- 安装依赖源:
yum install epel-release remi-release -y - 启用PHP7.4安装源:
yum-config-manager --enable remi-php74 - 安装PHP7.4及常用扩展:
yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json -y - 验证安装:
php -v
输出包含PHP 7.4.x版本信息即为安装成功。 - 如需启动php-fpm并设置开机自启,执行:
systemctl start php-fpmsystemctl enable php-fpm
内容的提问来源于stack exchange,提问作者Marko Stojanovic
相关产品推荐
相关产品推荐

