温馨提示×

CentOS怎样升级PHP版本

小樊
33
2026-07-08 02:55:44
栏目: 编程语言

CentOS 上升级 PHP 版本,常见做法取决于你当前使用的 Web 环境(如 Apache / Nginx)PHP 安装方式(系统自带 / Remi / SCL) 以及 CentOS 版本(7 / 8 / Stream)。下面给你一套通用且安全的升级方案,以 CentOS 7 + Remi 仓库 为例(最常见)。


一、先确认当前环境

1️⃣ 查看当前 PHP 版本

php -v

2️⃣ 查看当前 CentOS 版本

cat /etc/centos-release

二、推荐方式:使用 Remi 仓库升级(最常用 ✅)

✅ 适用场景

  • CentOS 7 / 8
  • 使用 Apache / Nginx
  • 想升级到 PHP 8.x(如 8.1 / 8.2 / 8.3)

三、CentOS 7 升级 PHP(详细步骤)

1️⃣ 安装 EPEL 和 Remi 仓库

yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

2️⃣ 安装 yum-utils(用于切换 PHP 版本)

yum install -y yum-utils

3️⃣ 查看可用的 PHP 版本

yum repolist all | grep php

常见版本:

  • remi-php74
  • remi-php81
  • remi-php82
  • remi-php83

4️⃣ 启用目标 PHP 版本(例如 PHP 8.2)

yum-config-manager --enable remi-php82

5️⃣ 卸载旧版本 PHP(可选但推荐)

yum remove php php-cli php-fpm php-common php-mysql php-json php-xml php-mbstring

⚠️ 注意:不会删除网站数据,但会短暂中断 PHP 服务。


6️⃣ 安装新版本 PHP

yum install -y php php-cli php-fpm php-common php-mysql php-json php-xml php-mbstring php-curl php-zip

7️⃣ 重启相关服务

Apache

systemctl restart httpd

Nginx + PHP-FPM

systemctl restart php-fpm
systemctl restart nginx

8️⃣ 验证 PHP 版本

php -v

四、保留多个 PHP 版本(高级用法)

如果你需要 多版本共存(如 PHP 7.4 + 8.2),推荐使用:

SCL(Software Collections)

yum install centos-release-scl
yum install rh-php82
scl enable rh-php82 bash

五、CentOS 8 / Stream 注意事项

✅ CentOS 8 已停止维护

建议使用:

  • Rocky Linux
  • AlmaLinux
  • CentOS Stream 8/9

Remi 仍然可用,但建议使用 dnf 替代 yum

dnf install php

六、常见问题排查

❌ 升级后网站 500 错误

  • 查看日志:
tail -f /var/log/php-fpm/error.log
  • 常见原因:
    • 缺少扩展
    • PHP 配置不兼容(如 short_open_tag

❌ 老程序不支持 PHP 8.x

✅ 建议:

  • 升级代码
  • 或退回 PHP 7.4
yum-config-manager --enable remi-php74

七、升级建议总结 ✅

场景 推荐方案
普通网站 Remi 仓库
多版本共存 SCL
生产环境 先测试、再升级
老旧程序 PHP 7.4

如果你愿意,我可以: ✅ 根据你的 CentOS 版本 + Web 服务 给你 精确命令
✅ 判断 是否可以安全升级
✅ 帮你排查 升级后报错

只要告诉我:

你的 CentOS 版本 + PHP 当前版本 + 使用 Apache 还是 Nginx

0