Categories: PHP编程

CentOS 7如何安装PHP7

PHP 是一种流行的免费开源脚本语言,主要用于 Web 开发。当前主流的网站使用还是PHP7, PHP8刚出来不久,功能性能还需要验证,同时从PHP7迁移到PHP8还需要一定的成本,所以PHP7使用的还比较广泛。CentOS 7 默认附带 PHP 5.4。

PHP 5.4 终于在 2015 年 9 月结束了生命周期,它不再被 WordPress、cPanel 和 WHM 等主要平台支持。幸运的是,我们现在有了 PHP 7 和最新的 PHP 7.3,它与大多数应用程序完全兼容。

在本文中,您将学习如何在 CentOS 7 上安装 PHP 7。更具体地说,您将学习如何安装 PHP 7.1、7.2 和 7.3。此后,我们将演示如何将 PHP 7 与 Apache 和 Nginx 服务器集成。

前提条件

首先,以具有sudo权限的普通用户身份登录您的服务器。这是最推荐的方式,而不是以 root 用户身份运行命令。

启用 Remi 存储库

Remi 存储库是一个免费且流行的第三方存储库,它提供了 CentOS 7 系统上不可用的最新和最先进的软件包。

Remi 存储库依赖于 EPEL (Extra Packages for Enterprise Linux),因此,您需要确保 Remi 和 EPEL 都存在。

因此,运行以下命令以使用 yum 命令安装 EPEL。

$ sudo yum install epel-release yum-utils


要安装 Remi,请运行以下命令:

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


已经安装了 EPEL 和 Remi,现在让我们继续在 CentOS 7 上安装 PHP 7。

在 CentOS 7 上安装 PHP 7.3

让我们从安装 PHP 7.3 开始,这是撰写本文时 PHP 的最新版本。这是最新版本,附带最新的内容管理系统,如 WordPress 和 Joomla 以及 Laravel 等框架。

第 1 步:启用 PHP 7.3 Remi 存储库

要启用 PHP 7.3 Remi repo,请运行以下命令:

$ sudo yum-config-manager --enable remi-php73

第 2 步:安装 PHP 7.3 和相关模块

启用 php 7.3 Remi 后,现在安装 PHP 7.3 及其模块,如下所示:

$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd


安装完成后,您可以使用以下命令验证 PHP 的版本:

$ php -v

在 CentOS 7 上安装 PHP 7.2

对于 PHP 7.2 CentOS 7 的安装,请确保您遵循以下步骤:

第 1 步:启用 PHP 7.2 Remi 存储库

正如我们之前看到的,首先为 PHP 7.2 启用 Remi 存储库

$ sudo yum-config-manager --enable remi-php72

第 2 步:安装 PHP 7.2 和相关的 PHP 模块

接下来,安装 PHP 7.2 和相关模块,如下所示:

$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd


当提示导入 GPG 时,只需按 y 并按 ENTER


完成安装后,使用以下命令验证 PHP 版本:

$ php -v

在 CentOS 7 上安装 PHP 7.1

最后,我们将安装 PHP 7.1。正如我们在前两个版本中看到的,请按照以下步骤操作:

第 1 步:启用 PHP 7.1 Remi 存储库

正如我们之前看到的,首先为 PHP 7.1 启用 Remi 存储库

$ sudo yum-config-manager --enable remi-php71

第 2 步:安装 PHP 7.1 及其相关的 PHP 模块

启用 Remi 存储库后,继续使用以下命令安装 PHP 7.1:

$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql


当提示输入 GPG 密钥时,键入y并按 ENTER


要验证安装,请运行以下命令:

$ php -v

配置 PHP 7.x 以使用 Apache Web 服务器

如果 Apache 是您选择的 Web 服务器,只需重新启动 Apache 服务,您的道路就会一帆风顺。不需要进一步或复杂的配置。

$ sudo systemctl restart httpd

配置 PHP 7.x 以使用 Nginx Web 服务器

与 Apache 不同,使用 PHP 7.x 配置 Nginx 并不像您想象的那么简单。Nginx 不支持处理 PHP 文件,因此,我们需要安装一组额外的包,称为 PHP FPM 来处理 PHP 文件。

要安装 PHP FPm 包,请运行以下命令:

$ sudo yum install php-fpm


安装后,前往位于的配置文件/etc/php-fpm.d/www.conf

您会发现有一个名为“apache”的用户正在监听端口 9000。我们将该用户更改为“nginx”,稍后调整行如下所示。

...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx

/var/lib/php接下来使用chown 命令为文件设置正确的所有权,如下所示:

$ sudo chown -R root:nginx /var/lib/php

然后启用并启动 php-fpm,如图所示:

$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm


通过运行验证状态:

$ sudo systemctl status 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;
}
}

最后,重新启动您的 Web 服务器以使更改生效

 $ sudo systemctl restart nginx

最后

最后,以上就是如何在 CentOS 7 上安装不同版本的 PHP 7 以及如何配置不同的 Web 服务器来处理 PHP 文件。

5.0
02
Bash 中检查字符串是否包含子字符串
Ubuntu下如何安装php8.0
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

asciinema一款优秀终端会话录制工具(13.2k stars)

asciinema是一个优秀的…

8小时 ago

tldr pages一个linux命令帮助工具(48.5k stars)

tldr pages项目是一个…

8小时 ago

Odoo一款开源ERP和CRM系统(34.6k stars)

Odoo是一套基于网络的开源商…

9小时 ago

Seodity:提升SEO分析和内容创建

Seodity作为SEO分析的…

1天 ago

SocialBee一款AI社交媒体内容生成器

SocialBee的AI帖子生…

1天 ago

雪橇云VPN五一活动来了!全场15%的折扣!

雪橇云VPN一款是稳定全球多节…

1天 ago