CentOS8 如何更新php版本(非编译)

1.确保系统已配置阿里云基础仓库
如果尚未配置,可执行以下命令添加阿里云的 CentOS 8 基础仓库(注意 CentOS 8 官方已停止维护,阿里云镜像也可能逐步下架,建议考虑迁移到 AlmaLinux 或 Rocky Linux):

# 备份原有仓库配置
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

# 下载阿里云的 CentOS 8 仓库配置
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

2.添加阿里云的 EPEL 仓库(可选,提供更多依赖)

curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-archive-8.repo

3.安装 Remi 仓库(通过阿里云镜像加速)
Remi 仓库是获取新版本 PHP 的主要来源,可通过阿里云镜像安装:

# 安装 Remi 仓库(使用阿里云镜像)
dnf install -y https://mirrors.aliyun.com/remi/enterprise/remi-release-8.5.rpm

4.查看并启用所需的 PHP 版本

# 列出可用的 PHP 模块流
dnf module list php

# 重置当前 PHP 模块并启用目标版本(例如 PHP 8.4)
dnf module reset php -y
dnf module enable php:remi-8.4 -y

5.升级 PHP 及相关组件

# 升级所有 PHP 相关包
dnf update -y php*

# 若需安装新扩展(根据需求选择)
dnf install -y php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl php-xml

6.验证升级结果

php -v  # 查看当前 PHP 版本

7.重启相关服务

# 重启 PHP-FPM(如果使用)
systemctl restart php-fpm
systemctl enable php-fpm  # 设置开机自启

# 重启 Web 服务器(根据实际使用的服务选择)
systemctl restart httpd  # Apache
# 或
systemctl restart nginx   # Nginx

8.注意事项

  • 阿里云的 CentOS 8 镜像基于官方 vault 仓库(归档版本),可能不会更新最新安全补丁,长期使用建议迁移到 CentOS Stream 8 或其他兼容发行版。
  • 升级前建议备份 /etc/php.ini 等配置文件,避免自定义配置被覆盖。
  • 若升级后出现依赖冲突,可尝试添加 --allowerasing 参数强制解决(谨慎使用):dnf update -y php* --allowerasing

This article was written by 冰辉