如何在 CentOS 8 Stream 上安裝 PHP 8.1

PHP 8.1是 PHP 语言的重要更新,于 2021 年 11 月 25 日"正式"发布。随着我们从现有的 PHP 8.0 版本前进,这是一个标准升级。新的 PHP 8.1 带来了枚举、纤细、永不返回类型、最终类常量、交集类型、只读属性以及一长串新功能和更改。

在以下教程中,您将学习如何导入 REMI 模块并在 CentOS 8 Stream 上安装 PHP 8.1。

先决条件

  • 推荐的操作系统:任何当前的CentOS 8 流
  • 用户帐户:根访问权限

更新操作系统

更新您的CentOS Stream作業系統,確保所有現有的套件都是最新的

sudo dnf upgrade --refresh -y

本教程将使用sudo 命令,并假设您具有 sudo 状态

要验证您帐户上的 sudo 状态:

sudo whoami

显示 sudo 状态的示例输出:

[joshua@centos-stream ~]$ sudo whoami
root

要設立現有或新的 sudo 帳戶,請參閱我們的教程,了解如何在 CentOS Stream 上為 Sudoers 添加使用者。

要使用root 帐户,请使用以下命令和 root 密码登录。

su

安装 PHP 8.1 Remi 存储库

目前,PHP 8.1 尚未在 CentOS Stream 的 AppStream 中推出,因为它仍然相对较新,并且尚未在 RHEL 的存储库中过滤掉链。但是,您可以从(Remi)存储库安装 PHP,这是一个免费的第三方存储库,用于部署最新的 PHP 8.1 版本。

第一个任务是安装(EPEL)存储库,它代表(Enterprise Linux的额外软件包)。对于 CentOS Stream 和基于 RHEL 的类似发行版的新用户,EPEL 包含企业 Linux 最常用的软件包。

要安装EPEL,请使用以下(dnf)终端命令:

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

输出示例:

How to Install PHP 8.1 on CentOS 8 Stream

键入"Y",然后按"ENTER键"继续安装。

现在您已经添加了 EPEL 存储库,请使用以下内容启用(Remi 存储库):

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

输出示例:

How to Install PHP 8.1 on CentOS 8 Stream

键入"Y",然后按"ENTER键"继续安装。

您会在终端中注意到一个关于导入 Remi 存储库的(GPG 密钥)的查询。

例:

How to Install PHP 8.1 on CentOS 8 Stream

键入"Y",然后按"ENTER 键"导入 GPG 键并完成安装。

请注意,您将多次提示x2键入"Y"以导入更多 GPG 密钥。这很好。

启用 PHP 8.1 (Remi) 存储库

PHP 7.2 是 Rhel/CentOS Stream 上使用 Remi 的存储库进行标准安装的默认 PHP 选择。一个快速提示是使用(列出php)命令来查看可用的选项和默认值。

以下 dnf 模块列表命令可以执行此操作:

sudo dnf module list php

您将获得以下输出,如下所示。请注意要安装的默认 PHP 的(d)标记:

例:

How to Install PHP 8.1 on CentOS 8 Stream

如上所示,(d)标签位于PHP 7.2旁边,您需要重置并更改它以安装PHP 8.1。

要重置PHP列表,可以使用以下命令轻松实现:

sudo dnf module list reset php -y

接下来,使用以下命令启用 PHP 8.1:

sudo dnf module enable php:remi-8.1

输出示例:

How to Install PHP 8.1 on CentOS 8 Stream

广告

安装 PHP 8.1

现在您已经添加了 Remi PHP 存储库,并将 PHP 8.1 启用为系统上的默认版本,您可以使用以下命令安装 PHP 8.1:

sudo dnf install php

输出示例:

How to Install PHP 8.1 on CentOS 8 Stream

键入"Y",然后按"ENTER键"继续安装。

请注意,系统将提示您输入更多GPG 密钥键入 Y到终端中显示的任何密钥。

如果要安装 PHP 8.1 最常用的扩展,请使用以下命令:

sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml

请注意,删除您不希望的选项,这是可选的。强烈建议仅安装和保留性能和安全标准中所需的模块。

最后,对安装开发分支感兴趣的任何人使用以下命令。

sudo dnf install php-devel -y

这将安装许多依赖项,除非您正在使用PHP进行开发或有一些特殊要求来安装它,否则请不要使用此版本。

现在您已经安装了 PHP 8.1,扩展程序使用以下命令检查版本:

php -v

输出示例:

How to Install PHP 8.1 on CentOS 8 Stream

PHP-FPM PHP 8.1 的安装

与 Debian/Ubuntu 上使用(www-data)用户的 PHP-FPM 安装不同,RHEL 系列安装并非如此。在CentOS Stream上,默认情况下,PHP-FPM服务被设计为运行(Apache)用户,这是不正确的,因为我们使用的是Nginx,这需要纠正。

首先,打开以下(www.conf)配置文件:

sudo nano /etc/php-fpm.d/www.conf

接下来,将(Apache)用户和组替换为(Nginx)用户和组:

例:

How to Install PHP 8.1 on CentOS 8 Stream

要保存,请按(Ctrl+O)然后退出(CTRL+X)。

现在,您也将重新加载或重新启动 PHP-FPM 服务:

sudo systemctl restart php-fpm

Nginx Configurement

Nginx服务器块需要以下示例,以便Nginx处理PHP文件。

以下是处理需要添加位置 ~ .php$的 PHP 文件的所有服务器块的示例。

server {
 # … some other code
 # Pass the php scripts to FastCGI server specified in upstream declaration.
	location ~ \.php(/|$) {
		include fastcgi.conf;
                fastcgi_pass unix:/run/php-fpm/www.sock;
		fastcgi_split_path_info ^(.+\.php)(/.*)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
		fastcgi_param DOCUMENT_ROOT $realpath_root;
		try_files $uri $uri/ /app.php$is_args$args;
		fastcgi_intercept_errors on;	
	}
}

测试Nginx,以确保使用上述代码进行的调整没有错误;输入以下内容。

sudo nginx -t

输出示例:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重新启动 Nginx 服务以完成安装。

sudo systemctl restart nginx

评论和结论

在本教程中,您已经学会了如何安装PHP 8.1并配置如何将其与Apache和Nginx一起使用。PHP 8.1 令人兴奋。但是,目前,它仍然不如8.0版本或旧的稳定版7.4稳定,因此请注意,您可能会发现许多您喜欢的软件(如WordPress或CMS软件的插件/主题)可能会发生冲突,直到开发人员可以更新为止。

做一些研究,准备,并安装PHP 7.4或8.0,并在切换时出现任何问题时准备更换。8.0等稳定版本仍在积极开发中,软件包与8.1软件包同时推送。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值