CentOS 7执行yum remove php*无法卸载PHP 7.3问题咨询
核心问题原因
- 命令执行逻辑错误:执行
yum -y remove php*时,当前工作目录下存在php-17-7-19.ini、php-pac.txt两个匹配通配符的文件,bash会优先把通配符替换成当前目录下的文件名再传给yum,导致yum根本没收到“匹配php开头的软件包”的指令,自然报无匹配参数、无包可卸载。 - 环境内存在多套独立安装的PHP,无法通过简单的通配符一次性覆盖:
- Remi源全局安装的PHP7.3:是当前系统
php命令默认指向的运行版本,包名不带特殊前缀 - Remi SCL源独立隔离安装的PHP7.3:所有包名带
php73-前缀 - CentOS SCL源独立隔离安装的PHP7.0:所有包名带
rh-php70-前缀
- Remi源全局安装的PHP7.3:是当前系统
完整卸载操作步骤
- 卸载全局Remi版PHP(当前正在运行的7.3版本)
执行命令:yum -y remove "php*" oniguruma5php
注意一定要给通配符加上双引号,阻止shell提前展开为当前目录文件,让yum直接匹配软件包列表的内容 - 卸载Remi SCL独立PHP7.3环境
执行命令:yum -y remove "php73-*" - 卸载CentOS SCL独立PHP7.0环境
执行命令:yum -y remove "rh-php70-*" sclo-php70-php-mcrypt - 卸载零散的PHP关联附加包
执行命令:yum -y remove wbm-php-pear
卸载完成验证
- 执行
php -v,返回“command not found”即表示全局默认PHP已完全移除 - 执行
yum list installed | grep php,无任何返回输出即表示所有yum管理的PHP包已卸载干净 - 若存在残留的配置或二进制文件,可手动检查路径
/usr/bin/php、/opt/remi/、/opt/rh/,确认无需要保留的内容后直接删除即可。
内容的提问来源于stack exchange,提问作者Sakib Iqbal
相关产品推荐
相关产品推荐

