如果当前的操作系统是CentOs,又在2022年后新安装的话,可能会出现php安装不了的方法。

虽然消息列表中像这样显示已安装完成,但其实根本没安装上,在 软件商店中-已安装 列表中找不到刚安装的php版本

可以查看一下日志中的报错信息(选择编译安装时会出现该错误提示)

error: C++ preprocessor "/lib/cpp" fails sanity check 

这是缺少必要的C++库。运行,如下命令解决

yum install glibc-headers
yum 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

解决:

1、先更新yum源为阿里的

// 看当前的Centos系统是哪个版本的就选择对应的版本安装,这里以Centos8为例
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

2、修改 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-*

3、生成缓存更新

yum clean all
yum makecache

如果出现该错误:Failed to set locale, defaulting to C.UTF-8

执行以下两条命令可解决,解决后再重新 生成缓存更新

echo "export LC_ALL=en_US.UTF8" >> /etc/profile
source /etc/profile

4、运行 yum update

yum update -y

5、重新安装C++库,应该不会报错了

yum install glibc-headers
yum install gcc-c++

这时再去软件商店中安装对应的php版本应该都正常了~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐