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包可以在几个不同的存储库中使用。我们将使用Remi存储库,它提供各种软件包的更新版本,包括PHP。

Remi存储库依赖于EPEL存储库,因为我们需要首先安装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.4,yum则会更新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不兼容的Magento 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文件。

如果您有任何问题或反馈,请不要犹豫,发表评论。

发表评论

邮箱地址不会被公开。 必填项已用*标注