温馨提示×

CentOS怎么切换PHP版本

小樊
35
2026-07-08 03:08:42
栏目: 编程语言

在 CentOS 上切换 PHP 版本,常见做法取决于 你是用的什么方式安装的 PHP。下面按 最常见场景 给你一套完整说明。


一、先确认当前 PHP 版本

php -v

二、使用 Remi 仓库(最常见、推荐 ✅)

如果你是通过 Remi 仓库 安装的 PHP(这是 CentOS 最常见方式),切换版本非常简单。

1️⃣ 安装 Remi 仓库(如果还没装)

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

2️⃣ 查看可用的 PHP 版本

yum list php*

或:

yum repolist | grep remi

3️⃣ 切换 PHP 版本(核心步骤)

✅ 方式一:使用 yum-config-manager(推荐)

例如切换到 PHP 8.1

yum-config-manager --enable remi-php81

其他版本示例:

yum-config-manager --enable remi-php74
yum-config-manager --enable remi-php80
yum-config-manager --enable remi-php82

4️⃣ 重新安装 PHP(必须)

切换仓库后,需要重新安装 PHP:

yum install php php-cli php-fpm php-mysql php-json php-xml php-mbstring

或只更新:

yum update php*

5️⃣ 重启相关服务

systemctl restart php-fpm
systemctl restart httpd   # Apache
# 或
systemctl restart nginx

6️⃣ 验证

php -v

三、使用 SCL(Software Collections)

如果你之前用的是 SCL 方式

查看已安装版本

scl list-installed

临时切换(仅当前 shell)

scl enable rh-php74 bash

永久切换(不推荐)

写入 .bashrc 或 profile。

⚠️ SCL 方式现在 不如 Remi 常用


四、手动编译(不推荐)

如果你是自己 ./configure && make 安装的 PHP:

which php
/usr/local/php/7.x/bin/php

切换方式:

ln -sf /usr/local/php/8.x/bin/php /usr/bin/php

⚠️ 风险高,不建议生产环境使用。


五、Apache / Nginx 注意事项

Apache

yum install php-fpm
systemctl enable php-fpm

Nginx

确保 fastcgi_pass 指向正确的 PHP-FPM socket:

fastcgi_pass unix:/run/php-fpm/www.sock;

六、常见问题

❓ 切换后 php -v 没变?

which php

可能是 PATH 问题,或没重启服务。

❓ 多个 PHP 并存?

Remi 默认 不支持多版本并存,SCL 才支持。


七、快速总结(最常用)

yum-config-manager --enable remi-php81
yum update php*
systemctl restart php-fpm
php -v

如果你愿意,可以告诉我:

  • ✅ CentOS 7 还是 8 / Stream?
  • ✅ Apache 还是 Nginx?
  • ✅ 当前 PHP 版本?

我可以给你 精确到命令级别 的指导。

0