CentOS环境升级PHP7后安装VirtualMin出现报错问题
我之前也碰到过类似的情况——手动把PHP从5.4.x升到7之后,装VirtualMin卡在了第二阶段的标记步骤。先把你的报错场景再理清楚:
▣▣□ 第2阶段(共3阶段):安装
下载epel-release-latest-7.noarch.rpm [ ✔ ]
安装EPEL发布包 [ ✔ ]
安装yum-utils [ ✔ ]
启用extras仓库 [ ✔ ]
安装scl-utils [ ✔ ]
安装Software Collections发布包 [ ✔ ]
安装PHP7 [ ✔ ]
标记‘Virtualmin LAMP Stack’待安装 [ ✔ ]
标记‘Virtualmin...
这种情况大概率是手动升级PHP导致的依赖冲突,或者yum仓库配置和VirtualMin的安装逻辑不兼容,给你几个亲测有效的解决步骤:
1. 清理冲突的PHP包
手动升级的PHP可能和VirtualMin默认要安装的PHP组件有冲突,先彻底清理掉现有PHP相关包:
yum remove -y php* yum autoremove -y yum clean all
清理完成后,VirtualMin的安装脚本会自动适配系统,安装符合要求的PHP环境(不用担心,脚本会处理好PHP7的配置)。
2. 修复yum仓库配置
手动操作后,EPEL或者SCL仓库可能出现异常,先检查仓库状态:
yum repolist enabled | grep -E "epel|scl"
如果输出里没有epel或者centos-sclo相关的仓库,就重新安装并启用:
# 重新安装EPEL仓库 yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # 启用Software Collections仓库 yum install -y centos-release-scl
3. 重新执行VirtualMin安装脚本
确保环境清理干净后,重新跑官方安装脚本:
wget http://software.virtualmin.com/gpl/scripts/install.sh chmod +x install.sh ./install.sh
这次执行的时候注意看终端输出的详细报错,如果再次中断,脚本会给出具体的错误信息(比如某个依赖包缺失),针对性处理就行。
4. 强制指定PHP7环境安装
如果还是因为PHP版本问题卡壳,可以在安装时加参数强制使用现有PHP7:
./install.sh --force-php7
这个参数会告诉安装器跳过自带的PHP部署流程,直接用你已经升级好的PHP7环境。
内容的提问来源于stack exchange,提问作者Sakib Iqbal

