如果当前的操作系统是CentOs,又在2022年后新安装的话,可能会出现php安装不了的方法。
虽然消息列表中像这样显示已安装完成,但其实根本没安装上,在 软件商店中-已安装 列表中找不到刚安装的php版本
可以查看一下日志中的报错信息(选择编译安装时会出现该错误提示)
error: C++ preprocessor "/lib/cpp" fails sanity check
这是缺少必要的C++库。运行,如下命令解决
yum install glibc-headersyum install gcc-c++
这时应该会提示这样的错误:Error: Failed to download metadata for repo 'powertools': Cannot prepare internal mirrorlist: No URLs in mirrorlist
原因:
CentOS Linux 8 已于 2021 年 12 月 31 日结束生命周期 (EOL)。这意味着 CentOS 8 将不再从 CentOS 官方项目获得开发资源。更多的信息可以查看 CentOS 官方公告。如果需要更新 CentOS,需要将镜像从 mirror.centos.org 更改为 vault.centos.org
解决:
先更新yum源为阿里的
// 看当前的Centos系统是哪个版本的就选择对应的版本安装,这里以Centos8为例wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
修改 centos 文件内容
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
生成缓存更新
yum clean allyum makecache
如果出现该错误:Failed to set locale, defaulting to C.UTF-8
执行以下两条命令可解决,解决后再重新 生成缓存更新
echo "export LC_ALL=en_US.UTF8" >> /etc/profilesource /etc/profile
运行 yum update
yum update -y
重新安装C++库,应该不会报错了
yum install glibc-headersyum install gcc-c++
这时再去软件商店中安装对应的php版本应该都正常了~
来源地址:https://blog.csdn.net/qq_23375733/article/details/126167846