如何在RHEL 8/CentOS 8上安装PHP 7.2

时间:2020-02-23 14:30:49  来源:igfitidea点击:

问题:如何在CentOS 8/RHEL 8上安装PHP?如何在CentOS 8/RHEL 8上安装PHP 7.2?如何在CentOS 8/RHEL 8上安装PHP 7.1?欢迎来到我们的指南,了解如何在CentOS 8/RHEL 8上安装PHP 7.2/7.1. 与RHEL 7中分发的PHP 5.4不同,Red Hat Enterprise Linux 8和CentOS 8与PHP 7.2一起分发。 7.2 are:默认情况下使用FastCGI Process Manager(FPM)。这可以安全地与带线程的http一起使用。当更改max_execution_time配置变量时,其值应与httpd ProxyTimeout设置PHP脚本警告匹配,并且不再记录错误,/var/log/httpd/error.log它们现在已记录到/var/log/php-fpm/www-error.log文件中。应该在池配置文件/etc/php-fpm.d/*.conf中设置php-flag和php_value变量。 它们不再在httpd配置文件中进行配置。运行PHP脚本的用户现在在FPM池配置文件" /etc/php-fpm/d/www.conf"中进行了配置。默认用户为apache。无论何时安装新扩展名或者更改PHP配置文件,都需要重新启动php-fpm服务。

在PHP 7.2上删除的扩展

以下是PHP 7.2memcachezipmysql中已弃用的扩展名(请注意mysqli和pdo_mysql扩展名仍然可用,由php-mysqlnd软件包提供)

AppStream存储库中应同时提供PHP 7.2和PHP 7.1:

$sudo yum repolist

我们可以通过在终端中运行以下命令来确认已启用的默认PHP模块。

$sudo yum module list | grep php 
php   7.1  devel, minimal, default [d]               PHP scripting language                                             
php   7.2 [d][e]  devel, minimal, default [d] [i]    PHP scripting language

要在RHEL 8上安装PHP 7.3,请检查:如何在RHEL 8上安装PHP 7.3,PHP 7.3-FPM

在RHEL 8/CentOS 8上安装PHP 7.2

通过运行以下命令在RHEL 8/CentOS 8上安装PHP 7.2

sudo yum module install php:7.2

上面的命令将安装许多PHP扩展,以及不同集成所需的扩展。

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

$php -v
PHP 7.2.11 (cli) (built: Oct  9 2016 15:09:36) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2016 Zend Technologies

如上面的输出所示,我们的RHEL 8系统上有PHP7.2.11.

启动并配置php-fpm服务

现在激活php-fpm服务

sudo systemctl enable --now php-fpm

确认服务状态

$systemctl status php-fpm
 ● php-fpm.service - The PHP FastCGI Process Manager
    Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
    Active: active (running) since Mon 2019-03-11 00:23:55 EAT; 3min 16s ago
  Main PID: 32105 (php-fpm)
    Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
     Tasks: 6 (limit: 11510)
    Memory: 24.1M
    CGroup: /system.slice/php-fpm.service
            ├─32105 php-fpm: master process (/etc/php-fpm.conf)
            ├─32106 php-fpm: pool www
            ├─32107 php-fpm: pool www
            ├─32108 php-fpm: pool www
            ├─32109 php-fpm: pool www
            └─32110 php-fpm: pool www
 Mar 11 00:23:55 rhel8.local systemd[1]: Starting The PHP FastCGI Process Manager…
 Mar 11 00:23:55 rhel8.local systemd[1]: Started The PHP FastCGI Process Manager.

请注意,默认情况下,PHP FPM服务在Unix套接字/run/php-fpm/www.sock上进行侦听

安装PHP 7.2扩展

使用语法:

sudo yum install php-<entension>

以下示例用于安装标准PHP扩展。

sudo yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json

如何在RHEL 8上安装PHP 7.1

如果我们想安装PHP 7.1,它也可以在AppStream存储库中使用。使用以下命令安装PHP 7.1:

sudo yum module install php:7.1

使用以下命令验证PHP版本:

$php -v
PHP 7.1.20 (cli) (built: May 19 2016 06:17:27) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2016 Zend Technologies

我们可以使用以下方法轻松切换回PHP 7.2:

sudo yum module install php:7.2

测试PHP安装

最后,进行测试以确认我们的PHP是否按预期工作。使用以下命令安装Apache HTTP Server:

sudo yum module install httpd

然后激活服务

sudo systemctl enable --now httpd

创建一个测试PHP页面

echo '<?php phpinfo();' >/var/www/html/info.php

打开服务器URL:

在防火墙上启用http端口

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

在我们的下一篇文章中,我们将介绍安装Nginx Web服务器并将其配置为服务PHP Web页面。