1. 前言
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版本之前,请确保您的应用程序支持它。
CentOS7怎么安装PHP7最新版
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/ target=_blank class=infotextkey>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
centos7安装php7.3
验证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
php7与Apache一起运行如何配置
6. 配置PHP 7.x 与Nginx同时运行
与Apache不同,Nginx没有内置的处理PHP文件的支持,所以我们需要安装一个单独的应用程序,如PHP FPM,它将处理PHP文件。
配置PHP7与Nginx同时运行
要安装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_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服务:
[root@zcwyou ~]# systemctl restart nginx
7. 总结
本文讲解了如何在CentOS 7服务器上安装PHP 7最新版以及如何配置Web服务器以便Apaceh和Nginx进程能够处理PHP文件。
如果您有任何问题或反馈,请不要犹豫,发表评论。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/1213.html