如何在 CentOS 8 / RHEL 8 上安装 PHP 7.4 / 7.3

PHP 是一种广泛用于 Web 开发的开源编程语言,由 Rasmus Lerdorf 创建。 它是一种嵌入 HTML 的脚本语言,用于创建动态网站。

CentOS 8 / RHEL 8 默认附带 PHP v7.2。

在这篇文章中,我们将看到如何在 CentOS 8 / RHEL 8 上安装 PHP 7.4 / 7.3。

本文档也适用于 CentOS 7 CentOS 6 Ubuntu 18.04 Ubuntu 16.04 Debian 9 Debian 10

添加 Remi 仓库

雷米,为 Red Hat Enterprise Linux 提供多个版本的 PHP (7.4 / 7.3 / 7.2) 的第三方存储库。

Remi 存储库需要在您的系统上启用 EPEL 存储库。

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

要在您的系统上启用 Remi 存储库,请使用以下命令安装 Remi 存储库自动配置包。

dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

输出:

CentOS-8 - AppStream                                                               1.7 MB/s | 6.3 MB     00:03    
CentOS-8 - Base                                                                    3.0 MB/s | 7.9 MB     00:02    
CentOS-8 - Extras                                                                  5.5 kB/s | 2.1 kB     00:00    
CentOS-8 - PowerTools                                                              916 kB/s | 1.8 MB     00:02    
Extra Packages for Enterprise Linux 8 - x86_64                                     1.9 MB/s | 5.2 MB     00:02    
Google Cloud SDK                                                                   6.6 MB/s |  29 MB     00:04    
Google Compute Engine                                                              1.7 kB/s | 5.8 kB     00:03    
remi-release-8.rpm                                                                  13 kB/s |  20 kB     00:01    
Dependencies resolved.
===================================================================================================================
 Package                     Arch                  Version                       Repository                   Size
===================================================================================================================
Installing:
 remi-release                noarch                8.0-4.el8.remi                @commandline                 20 k

Transaction Summary
===================================================================================================================
Install  1 Package

Total size: 20 k
Installed size: 14 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                           1/1 
  Installing       : remi-release-8.0-4.el8.remi.noarch                                                        1/1 
  Verifying        : remi-release-8.0-4.el8.remi.noarch                                                        1/1 

Installed:
  remi-release-8.0-4.el8.remi.noarch                                                                               

Complete!

列出可用的 PHP 模块流。

dnf module list php

你应该看到下面的输出。

CentOS-8 - AppStream
Name              Stream                Profiles                                Summary                            
php               7.2 [d]               common [d], devel, minimal              PHP scripting language             

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name              Stream                Profiles                                Summary                            
php               remi-7.2              common [d], devel, minimal              PHP scripting language             
php               remi-7.3              common [d], devel, minimal              PHP scripting language             
php               remi-7.4              common [d], devel, minimal              PHP scripting language             

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

在 CentOS 8 / RHEL 8 上安装 PHP 7.4

使能够 php:remi-7.4 安装 PHP 7.4 的模块。

dnf module enable php:remi-7.4 -y

输出

Last metadata expiration check: 0:03:03 ago on Sat 11 Jan 2020 02:41:27 PM UTC.
Dependencies resolved.
===================================================================================================================
 Package                    Arch                      Version                     Repository                  Size
===================================================================================================================
Enabling module streams:
 httpd                                                2.4                                                         
 php                                                  remi-7.4                                                    

Transaction Summary
===================================================================================================================

Complete!

Switching module streams does not alter installed packages (see 'module enable' in dnf(8) for details)

使用 dnf 命令在 CentOS 8 / RHEL 8 上安装 PHP 7.4。

dnf install -y php php-cli php-common

在 CentOS 8 / RHEL 8 上安装 PHP 7.3

使能够 php:remi-7.3 安装 PHP 7.3 的模块。

dnf module enable php:remi-7.3 -y

输出:

Last metadata expiration check: 0:03:03 ago on Sat 11 Jan 2020 02:41:27 PM UTC.
Dependencies resolved.
===================================================================================================================
 Package                    Arch                      Version                     Repository                  Size
===================================================================================================================
Enabling module streams:
 httpd                                                2.4                                                         
 nginx                                                1.14                                                        
 php                                                  remi-7.3                                                    

Transaction Summary
===================================================================================================================

Complete!

Switching module streams does not alter installed packages (see 'module enable' in dnf(8) for details)

使用 dnf 命令在 CentOS 8 / RHEL 8 上安装 PHP 7.3。

dnf install -y php php-cli php-common

检查 PHP 版本

安装 PHP 后,使用以下命令检查 PHP 版本。

php -v

输出:

PHP 7.4.1 (cli) (built: Dec 17 2019 16:35:58) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.1, Copyright (c), by Zend Technologies

安装 PHP-FPM

如果要在 RHEL 8 上设置 LEMP 堆栈,则可能需要安装 php-fpm.

dnf install -y php-fpm

安装 PHP 扩展

PHP 扩展是已编译的库,可为您的代码提供特定支持。

要在您的代码上支持 MySQL,您可以安装 php-mysqlnd 包裹。

dnf install -y php-mysqlnd

安装 MySQL 扩展后,您可以使用以下命令进行验证。

php -m | grep -i mysql

输出:

mysqli
mysqlnd
pdo_mysql

WordPress 的 PHP 扩展

在您的 RHEL 8 机器上安装和运行 WordPress 需要以下扩展。 WordPress 推荐使用 PHP v7.3 进行安装。

dnf install -y php-dom php-simplexml php-ssh2 php-xml php-xmlreader php-curl php-date php-exif php-filter php-ftp php-gd php-hash php-iconv php-json php-libxml php-pecl-imagick php-mbstring php-mysqlnd php-openssl php-pcre php-posix php-sockets php-spl php-tokenizer php-zlib

Joomla 的 PHP 扩展

在您的 RHEL 8 机器上安装和运行 Joomla 需要以下扩展。 Joomla 需要 PHP v7.1 及更高版本。

dnf install -y php-mysqlnd php-zlib php-xml php-pear php-json php-mcrypt php-pecl-imagick

Drupal 的 PHP 扩展

在您的 RHEL 8 机器上安装和运行 Joomla 需要以下扩展。 Drupal 需要 PHP v7.1 及更高版本。

dnf install -y php-mysqlnd php-date php-dom php-filter php-gd php-hash php-json php-pcre php-pdo php-session php-simplexml php-spl php-tokenizer php-xml

结论

就这样。 我希望您已经学会了如何在 CentOS 8 / RHEL 8 上安装 PHP 7.4 / 7.3。请在评论部分分享您的反馈。