在 CentOS 7 里预装了 PHP5.4 的版本,只是此版本官方已经停止维护了,各种 PHP 程序也陆续迁移至了更高版本的 PHP,而使用高版本的 PHP 也会使应用程序加载更快,使用更少的系统资源。

PHP Logo

本文介绍在 CentOS 7 上安装 PHP7.4 版本(截止发文日最新版),除了将其与 Nginx、Apache 搭配使用,也可以尝试将其与 Caddy2 搭配使用(Caddy2 是一个很优秀的 Web 服务器,配置简单,自带 HTTPS,更多相关内容请参见:CentOS 安装 Caddy2)。

安装 PHP 最佳实践

CentOS 7 有多个不同的软件仓库提供 PHP 7.x 的版本,本文使用 REMI 提供的仓库,而 REMI 仓库依赖于 EPEL 存储库,因此在开始之前,我们先安装 EPEL 和 REMI

安装 EPEL 存储库

EPEL(Extra Packages for Enterprise Linus)是一个专门为 CentOS、RHEL 等系统,提供额外软件包的项目,装上 EPEL Repository,就相当于添加了一个拥有很多高质量软件包的第三方源。

使用这条指令安装 EPEL 存储库:

1
yum install epel-release -y

在 EPEL 仓库安装完成后,输入以下指令清除并重建缓存,就可以正常使用了:

1
2
yum clean all
yum makecache

安装 Remi 仓库

Remi 仓库是一个由 Remi 维护,包含最新版本的 PHP、MySQL 包的 Linux 源,使用这个仓库将使 yum 安装或是更新 PHP、MySQL、phpMyAdmin 等程序变得非常便利,是最常用的 yum 仓库之一。

使用这条指令安装 Remi 仓库:

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

启用 PHP 7.4 Remi 仓库

在使用之前,还需要启用 remi-php74 这个仓库,这里需要使用到一个指令:yum-config-manager。使用这个指令,需要先安装 yum-utils,在终端输入以下指令安装:

1
yum install yum-utils -y

在 yum-utils 安装完成后,输入以下指令启用 remi-php74 仓库

1
yum-config-manager --enable remi-php74

如果你需要使用 PHP 7.3 版本的话,则将 php74 修改为 php73 即可

更新系统已有的 PHP 版本

由于系统里已安装的包名称,与发行版中的相同,所以只需要简单的输入一条更新指令,就能将已安装的 php 以及系统中已安装的 php 扩展,全部更新至 PHP 7.4 版本,在终端输入以下指令:

1
yum update

由于上述启用了 remi-php74 版本的仓库,所以这里会将系统自带的 PHP 5.4 更新为 PHP 7.4

安装 PHP 扩展

PHP 的扩展是一种编译好的动态库,一般都是作为软件包提供。常用的有:php-gdphp-mysqlphp-cli 等,在安装好 Remi 存储库后,可以直接使用 yum 安装,安装常用扩展输入以下指令:

1
yum install php-gd php-mysql php-cli php-common php-opcache php-mcrypt php-curl php-mysqlnd php-zip -y

在 PHP 扩展安装完成以后,需要重启 php-fpm 服务,否则新安装的扩展不会加载到 php-fpm,使用以下指令重启 php-fpm

1
systemctl restart php-fpm

参考链接

本文关于 Remi 仓库使用的部分,参考了 remi 官方关于安装 PHP7.4 的内容,有兴趣可以参考阅读以下原文。