CentOS 7 附带 PHP 版本 5.4,该版本已正式 EOL 相当长一段时间,不再受支持。
通过使用 PHP 7,您的应用程序将加载更快并消耗更少的系统资源。
在本教程中,我们将解释如何安装或升级到 PHP 7.0。 CentOS 7 系统上的 7.1、7.2 和 7.3。我们还将向您展示如何将 PHP 与 Nginx 和 Apache 集成。
另外,在安装特定 PHP 7.x 版本之前,请确保您的应用程序支持它。
先决条件#
在开始本教程之前,请确保您使用具有 sudo 权限的用户帐户或 root 用户登录到服务器。最佳实践是以 sudo 用户而不是 root 身份运行管理命令。如果您的系统上没有 sudo 用户,您可以通过以下方式创建一个用户这些说明
.
启用 Remi 存储库#
PHP 7.x 软件包可在多个不同的存储库中获取。我们将使用雷米存储库它提供了包括 PHP 在内的各种软件包的更新版本。
Remi 存储库依赖于EPEL 存储库。运行以下命令以启用 EPEL 和 Remi 存储库:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Yum 可能会提示您导入存储库 GPG 密钥。类型y
并击中Enter
.
在以下部分中,我们将介绍如何通过启用适当的 Remi 存储库来安装 PHP 7.x。如果您的系统上已经安装了 PHP 5.4yum
将更新 PHP 包。
在 CentOS 7 上安装 PHP 7.3#
PHP 7.3 是 PHP 的最新稳定版本。最现代的 PHP 框架和应用程序包括WordPress、Drupal、Joomla 和 Laravel 完全支持 PHP 7.3。
执行以下步骤在 CentOS 7 上安装 PHP 7.3。
-
首先启用 PHP 7.3 Remi 存储库:
sudo yum-config-manager --enable remi-php73
-
安装 PHP 7.3 和一些最常见的 PHP 模块:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
通过键入以下命令来验证 PHP 安装,该命令将打印PHP版本
:
php -v
PHP 7.3.1 (cli) (built: Jan 8 2019 13:55:51) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies
在 CentOS 7 上安装 PHP 7.2#
仅当您要安装以下应用程序时才使用 PHP 7.2马真托2与 PHP 7.2 不兼容。
以下步骤描述如何安装 PHP 7.2 CentOS 7。
-
首先通过运行以下命令启用 PHP 7.2 Remi 存储库:
sudo yum-config-manager --enable remi-php72
-
启用存储库后,安装 PHP 7.2 和一些最常见的 PHP 模块:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
验证 PHP 安装:
php -v
PHP 7.2.9 (cli) (built: Aug 15 2018 09:19:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
在 CentOS 7 上安装 PHP 7.1#
请按照以下步骤安装 PHP 7.1。
-
通过键入以下内容启用 PHP 7.1 存储库:
sudo yum-config-manager --enable remi-php71
-
安装 PHP 7.1 和一些最常见的 PHP 模块:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
-
要验证安装,请运行以下命令,该命令将打印 PHP 版本:
php -v
PHP 7.1.21 (cli) (built: Aug 15 2018 17:56:55) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.21, Copyright (c) 1999-2018, by Zend Technologies
配置 PHP 7.x 以与 Apache 一起使用#
如果您正在使用Apache作为您的 Web 服务器,然后只需使用以下命令重新启动 Apache 服务即可:
sudo systemctl restart httpd
配置 PHP 7.x 以与 Nginx 一起使用#
与 Apache 不同,Nginx 没有内置支持处理 PHP 文件,因此我们需要安装一个单独的应用程序,例如 PHP FPM 来处理 PHP 文件。
要安装 PHP FPM 包,请运行以下命令:
sudo yum install php-fpm
默认情况下 PHP FPM 将以用户身份运行apache
在端口 9000 上。我们将用户更改为nginx
并从 TCP 套接字切换到 Unix 套接字。为此,请编辑以黄色突出显示的行:
/etc/php-fpm.d/www.conf
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
确保/var/lib/php
目录有正确的所有权
:
chown -R root:nginx /var/lib/php
进行更改后,启用并启动 PHP FPM 服务:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
接下来,编辑 Nginx 虚拟主机指令并添加以下位置块,以便 Nginx 可以处理 PHP 文件:
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
为了使新配置生效,重启 Nginx 服务
:
sudo systemctl restart nginx
结论#
您已经学习了如何在 CentOS 服务器上安装 PHP 7 以及如何配置 Web 服务器以处理 PHP 文件。
如果您有任何问题或反馈,请随时发表评论。