1. 前言
本文主要讲解CentOS7如何安装PHP7最新版。
CentOS 7附带PHP版本5.4,已经正式EOL(EOL是End-of-life项目终止/停产的缩写)很长一段时间,不再受支持。
通过使用PHP 7,您的应用程序将加载更快,并消耗更少的系统资源。
在本教程中,我们将介绍如何安装或升级到PHP 7最新版。 CentOS 7系统上安装PHP7.1,PHP7.2和PHP7.3。 我们还将向您展示如何将PHP与Nginx和Apache集成,协调工作。
在安装特定的PHP 7.x版本之前,请确保您的应用程序支持它。
2. 安装PHP7的前提条件
在开始本教程之前,请确保您具有sudo权限的用户帐户或root用户登录服务器。 最好将管理命令作为sudo用户而不是root用户运行。 如果您的系统上没有sudo用户,可以按照这些说明创建一个用户。
Linux root权限获取之sudo命令详解
3. 启用Remi仓库
php 7.x包可以在几个不同的存储库中使用。我们将使用remi仓库,它提供各种软件包(包括php)的更新版本。
REMI的仓库依赖于EPEL仓库。运行以下命令以同时启用EPEL和REMI yum仓库:
[root@zcwyou ~]# yum install epel-release yum-utils
[root@zcwyou ~]# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Yum可能会提示您导入仓库GPG密钥。 输入y并按Enter键。
在以下部分中,我们将介绍如何通过启用相应的Remi仓库来安装PHP 7.x. 如果您的系统上已经安装了PHP 5.4,那么yum将更新PHP包。
PHP 7.3是PHP的最新稳定版本。 大多数现代PHP框架和应用程序(包括WordPress,Drupal,Joomla和Laravel)都完全支持PHP 7.3。
在CentOS 7上执行以下步骤安装PHP 7.3。
[root@zcwyou ~]# yum-config-manager --enable remi-php73
安装PHP7.3以及与之相关的模块:
[root@zcwyou ~]# yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
验证PHP版本,执行以下命令打印当前php的版本号:
[root@zcwyou ~]# 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
4. CentOS7安装PHP7.2
先禁用7.3仓库
[root@zcwyou ~]# yum-config-manager --disable remi-php73
再启用7.2仓库
[root@zcwyou ~]# yum-config-manager --enable remi-php72
5. 配置PHP 7.x 与Apache一起运行
如果您使用Apache作为Web服务器,那么只需使用以下命令重新启动Apache服务即可:
[root@zcwyou ~]# systemctl restart httpd
6. 配置PHP 7.x 与Nginx同时运行
与Apache不同,Nginx没有内置的处理PHP文件的支持,所以我们需要安装一个单独的应用程序,如PHP FPM,它将处理PHP文件。
要安装PHP FPM包,请运行以下命令:
[root@zcwyou ~]# yum install php-fpm
默认情况下,PHP FPM将在端口9000上作为用户apache运行。我们将用户更改为nginx并从TCP socket切换到Unix socket。 为此,请编辑以黄色突出显示的行:
[root@zcwyou ~]# vi /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目录拥有正确的权限
[root@zcwyou ~]# chown -R root:nginx /var/lib/php
修改完权限后,启动php-fpm服务
开机启动php-fpm服务
[root@zcwyou ~]# systemctl enable php-fpm
马上启动php-fpm服务
[root@zcwyou ~]# systemctl start php-fpm
接下来,编辑Nginx虚拟主机配置并添加以下参数,以便Nginx可以处理PHP文件:
假设你的虚拟主机配置文件是/etc/nginx/conf.d/xxx.conf
[root@zcwyou ~]# vi /etc/nginx/conf.d/xxx.conf
server {
# . . . other code
location ~ \.php{
try_filesuri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME document_rootfastcgi_script_name;
include fastcgi_params;
}
}
修改完虚拟主机的配置文件后,接下来当然就是要重启nginx服务:
[root@zcwyou ~]# systemctl restart nginx
7. 总结
本文讲解了如何在CentOS 7服务器上如何安装PHP 7最新版以及如何配置Web服务器以便Apaceh和Nginx进程能够处理PHP文件。
如果您有任何问题或反馈,请不要犹豫,发表评论。
评论前必须登录!
注册