如何在 CentOS 7|RHEL 7 上安装 PHP 8.1

hrs 提交于 2022/07/03 - 08:52 , 周日

PHP 团队尚未在2021 年 11 月 25 日正式发布 PHP 8.1 通常在 PHP 的 GA 发布之前有 6 个月的预发布阶段。众所周知,PHP 是一种广泛使用的脚本语言。它主要用于创建 Web 应用程序和动态网页。在本指南中,我们将介绍在 CentOS 7|RHEL 7 上安装 PHP 8.1。

PHP 8.1 是版本 8.0 的更新,该版本是其前身 PHP 7.x 的主要版本。一些最强大的内容管理系统,如 Joomla、Drupal、WordPress、OpenCart、Magento、OctoberCMS 和 Joomla 都是用 PHP 创建的。PHP 8.1 附带了一组新特性和改进。在 CentOS 7|RHEL 7 上安装 PHP 8.1 并开始探索它的新特性和弃用。

PHP 8.1 有什么新功能?

  • 枚举 ——它们现在被添加到 PHP 8.1 中
  • 只读属性 – 类属性可以标记为只读,因此只能写入一次
  • 从不返回类型 - PHP 8.1 中添加了一个名为 never 的新返回类型提示
  • 支持 DNS-over-HTTPS (DoH)
  • AVIF 图像格式支持 ——PHP 8.1 的图像处理和 GD 扩展增加了对 AVIF 图像的支持。
  • 添加了对 Fibers的支持 ——管理并行性的低级机制
  • 使用 CURLStringFile 上传文件 – 在 PHP 8.1 中,PHP Curl 扩展现在支持使用文件上传的 HTTP(S) 请求
  • 添加纯交叉点类型功能
  • PHP 8.1 添加 array_is_list 作为内置函数
  • 显式八进制数字符号
  • 新的 fdatasync() 和 fsync() 函数
  • 定义最终类常量
  • 在许多其他新功能和弃用中

在 CentOS 7|RHEL 7 上安装 PHP 8.1

由于 CentOS 7|RHEL 7 中的默认 YUM 存储库不包含 PHP 8.1 软件包,我们将使用 REMI 存储库在 CentOS 7|RHEL 7 上安装 8.1。

 

你可以;

  1. 安装 PHP 8.1 作为主要 PHP 版本(默认版本)
  2. 与其他 PHP 版本(例如 8.0 和 7.4)一起安装 PHP 8.1

在这种方法中,您将在系统中默认拥有一个 PHP 版本。这假设应用程序已经过测试和认证,可以在 PHP 8.1 上运行。不建议在生产环境中默认使用 PHP 的 Beta 和 RC 版本。

如果您更喜欢将 PHP 8.1 作为CentOS 7|RHEL 7 的默认版本,请使用以下命令执行安装:

CentOS 7:

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --disable 'remi-php*'
sudo yum-config-manager --enable remi-php81
sudo yum repolist
sudo yum -y install php php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json,opcache,redis,memcache}

RHEL 7:

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install yum-utils
sudo subscription-manager repos --enable=rhel-7-server-optional-rpms
sudo yum-config-manager --disable 'remi-php*'
sudo yum-config-manager --enable   remi-php81
sudo yum repolist
sudo yum -y install php php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json,opcache,redis,memcache}

在 CentOS 7 上安装 PHP 8.1 扩展 RHEL 7

要安装任何 PHP 8.1 扩展,请使用以下命令语法:

sudo yum install php-xxx

使用以下命令检查 PHP 版本:

$ php --version
PHP 8.1.0 (cli) (built: Nov 23 2021 18:56:11) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies

对于 PHP 编程语言的早期版本,与其他稳定的 GA 版本一起安装是可行的。这使您可以在不破坏当前正在运行的应用程序的情况下测试新功能。

在 CentOS 7 上安装 PHP 8.1 和其他 PHP 版本 | RHEL 7

### CentOS 7 ###
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --disable 'remi-php*'
sudo yum-config-manager --enable remi-safe
sudo yum repolist
sudo yum install php81

### RHEL 7 ###
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install yum-utils
sudo subscription-manager repos --enable=rhel-7-server-optional-rpms
sudo yum-config-manager --disable 'remi-php*'
sudo yum-config-manager --enable remi-safe
sudo yum repolist
sudo yum install php81

使用以下命令安装额外的 PHP 扩展:

sudo yum install php81-php-xxx

请参见下面的示例:

sudo yum install php81-php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json,opcache}

同意安装提示:

....

======================================================================================================================================================================================================
 Package                                             Arch                                    Version                                                 Repository                                  Size
======================================================================================================================================================================================================
Installing:
 php81-php-bcmath                                    x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                   86 k
 php81-php-devel                                     x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                  831 k
 php81-php-fpm                                       x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                  2.0 M
 php81-php-gd                                        x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                   91 k
 php81-php-mbstring                                  x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                  483 k
 php81-php-mysqlnd                                   x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                  190 k
 php81-php-opcache                                   x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                  414 k
 php81-php-pear                                      noarch                                  1:1.10.13-1.el7.remi                                    remi-safe                                  364 k
 php81-php-pecl-zip                                  x86_64                                  1.20.0-1.el7.remi                                       remi-safe                                   55 k
 php81-php-xml                                       x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                  184 k
Installing for dependencies:
 php81-php-pdo                                       x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                  131 k
 php81-php-process                                   x86_64                                  8.1.0~rc6-1.el7.remi                                    remi-safe                                   90 k

Transaction Summary
======================================================================================================================================================================================================
Install  10 Packages (+2 Dependent packages)

Total download size: 4.9 M
Installed size: 20 M
Is this ok [y/d/N]: y

使用以下命令检查 PHP 8 版本和可用扩展

$ php81 --version
PHP 8.1.0 (cli) (built: Nov 23 2021 18:56:11) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies

$ php81 --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

如果您一步一步地按照我们的指南进行操作,那么您应该在 CentOS 7|RHEL 7 系统上安装了 PHP 8.1。重要的 PHP 论坛和网站:

标签