温馨提示×

CentOS怎样设置PHP版本

小樊
47
2026-08-29 14:27:37
栏目: 编程语言

CentOS 上切换或设置 PHP 版本,常见做法取决于你是通过 Remi 仓库Software Collections(SCL),还是 编译安装。下面按 最常用、最推荐 的方式一步一步说明。


一、查看当前 PHP 版本

php -v

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

1️⃣ 安装 EPEL 和 Remi 仓库(CentOS 7 示例)

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

CentOS 8 使用 dnf 代替 yum


2️⃣ 查看可用的 PHP 版本

yum repolist all | grep php

3️⃣ 安装指定 PHP 版本(例如 PHP 7.4)

yum install -y yum-utils
yum-config-manager --enable remi-php74
yum install -y php php-cli php-fpm php-mysql php-json php-gd php-mbstring

可选版本:

  • remi-php56
  • remi-php70
  • remi-php71
  • remi-php72
  • remi-php73
  • remi-php74
  • remi-php80
  • remi-php81
  • remi-php82

4️⃣ 切换 PHP 版本(如果已安装多个)

yum-config-manager --disable remi-php74
yum-config-manager --enable remi-php80
yum update php\*

然后重启服务:

systemctl restart php-fpm
systemctl restart httpd   # 或 nginx

三、使用 SCL(Software Collections)

适合 CentOS 7,不影响系统默认 PHP。

1️⃣ 安装 SCL

yum install -y centos-release-scl

2️⃣ 安装指定 PHP

yum install -y rh-php74

3️⃣ 启用 PHP

scl enable rh-php74 bash

永久生效:

echo "source /opt/rh/rh-php74/enable" >> ~/.bashrc

四、Apache 下指定 PHP 版本

yum install -y php

确保加载对应模块:

httpd -M | grep php

五、Nginx + PHP-FPM 设置

查看 PHP-FPM 服务:

systemctl list-unit-files | grep php

启动对应版本:

systemctl enable --now php74-php-fpm

Nginx 配置示例:

fastcgi_pass   unix:/var/opt/remi/php74/run/php-fpm/www.sock;

六、设置默认 PHP 命令版本(update-alternatives)

update-alternatives --config php

七、验证

php -v
php-fpm -v

✅ 推荐方案总结

场景 推荐方式
生产环境 Remi + PHP-FPM
开发环境 Remi / SCL
多版本并存 Remi + PHP-FPM

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ Apache 还是 Nginx
  • ✅ 想用哪个 PHP 版本

我可以给你 精确到命令 的完整方案。

0