在 CentOS 上切换或设置 PHP 版本,常见做法取决于你是通过 Remi 仓库、Software Collections(SCL),还是 编译安装。下面按 最常用、最推荐 的方式一步一步说明。
php -v
yum install -y epel-release
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
CentOS 8 使用
dnf代替yum
yum repolist all | grep php
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-php56remi-php70remi-php71remi-php72remi-php73remi-php74remi-php80remi-php81remi-php82yum-config-manager --disable remi-php74
yum-config-manager --enable remi-php80
yum update php\*
然后重启服务:
systemctl restart php-fpm
systemctl restart httpd # 或 nginx
适合 CentOS 7,不影响系统默认 PHP。
yum install -y centos-release-scl
yum install -y rh-php74
scl enable rh-php74 bash
永久生效:
echo "source /opt/rh/rh-php74/enable" >> ~/.bashrc
yum install -y php
确保加载对应模块:
httpd -M | grep php
查看 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;
update-alternatives --config php
php -v
php-fpm -v
| 场景 | 推荐方式 |
|---|---|
| 生产环境 | Remi + PHP-FPM |
| 开发环境 | Remi / SCL |
| 多版本并存 | Remi + PHP-FPM |
如果你愿意,可以告诉我:
我可以给你 精确到命令 的完整方案。