如何在 CentOS 8 / RHEL 8 系统上安装 PHP 8 ?

install-php8-on-centos8

PHP 8 是一个新的主版本,有很多新的改进和功能。在本文中,我们将演示如何在 CentOS 8 和 RHEL 8 系统上安装最新版本的 PHP 8。

必备条件

  • Minimal CentOS 8 / RHEL 8
  • User with sudo rights
  • Internet Connection

(1) 更新系统

更新系统

$ sudo dnf update
$ sudo dnf upgrade

重启系统

$ sudo reboot

(2) 启用 EPEL & Remi 软件库

PHP 8 在 CentOS 8 / RHEL 8 包存储库中不可用,我们必须启用 EPEL 和 remi 存储库。

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

查看可用的 PHP 版本

$ sudo dnf module list php

PHP8-modules-list-centos8

(4) 使用 Remi 模块安装 PHP 8

重置 PHP 模块,并从 remi-8.0 模块安装 PHP 8

$ sudo dnf module reset php
$ sudo dnf module install -y php:remi-8.0

Install-php8-remi-repository-centos8-rhel8

验证 PHP 版本

[linuxtechi@centos-8 ~]$ php -v
PHP 8.0.0 (cli) (built: Nov 24 2020 17:04:03) (NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
[linuxtechi@centos-8 ~]$

很好,上面的输出确认 PHP 8 已经安装。这个 PHP 用于 HTTPD web 服务器。

要为 NGINX web 服务器安装 PHP 8,我们必须安装 PHP 8 fpm 包。

$ sudo dnf install -y php-fpm

安装完 php-fpm 包,启动并启用其服务

$ sudo systemctl enable php-fpm --now

检查 php-fpm 服务状态

$ systemctl status php-fpm

Verify-Status-php-fpm-service

PHP 8 扩展也可以通过 dnf 命令安装,示例如下:

$ sudo dnf install -y php-{mysqlnd,xml,xmlrpc,curl,gd,imagick,mbstring,opcache,soap,zip}

(5) 为 HTTPD 和 NGINX 配置 PHP 8

HTTPD Web Server

编辑 /etc/php.ini 配置文件,以适用自己的需求。

$ sudo vi /etc/php.ini
………
upload_max_filesize = 32M 
post_max_size = 48M 
memory_limit = 256M 
max_execution_time = 600 
max_input_vars = 3000 
max_input_time = 1000
………

保存并关闭文件,然后重新启动 web 服务器。

$ sudo systemctl restart httpd

Nginx Web Server

编辑 /etc/php-fpm.d/www.conf 配置文件,以适用自己的需求。

$ sudo vi /etc/php-fpm.d/www.conf

保存并关闭文件,然后重新启动 php-fpm 服务。

$ sudo systemctl restart php-fpm

我的开源项目

酷瓜云课堂-在线教育解决方案


软件简史
软件的比较,使用体验,软件前世今生。

身强体健,龙精虎猛的活着。

456 声望
3 粉丝
0 条评论
推荐阅读
如何在 CentOS 8 上配置邮件服务器 ?
Postfix 是一个免费的开源 MTA (Mail Transfer Agent) 邮件传输代理,用于在 Linux 系统上路由或发送电子邮件。在本指南中,您将学习如何在 CentOS 8 上安装和配置 Postfix。

鸠摩智首席音效师阅读 266

初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。

王中阳Go4阅读 1.7k评论 2

封面图
一分钟搞明白!快速掌握 Go WebAssembly
最近因为各种奇怪的原因,更多的接触到了 WebAssembly。虽然之前很多博客也翻过写过各种文章,但总感觉欠些味道。于是今天梳理了一版,和大家一起展开学习。

煎鱼4阅读 2.2k

面试官:请说一下如何优化结构体的性能?
使用内存对齐机制优化结构体性能,妙啊!前言之前分享过2篇结构体文章:10秒改struct性能直接提升15%,产品姐姐都夸我好棒 和 Go语言空结构体这3种妙用,你知道吗? 得到了大家的好评。这篇继续分享进阶内容:结...

王中阳Go4阅读 3.8k评论 2

封面图
Laravel入门及实践,快速上手ThinkSNS+二次开发
【摘要】自从ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都说技术门槛抬高了,其实你与TS+的距离仅仅只是学习一个新框架而已,所以,我们今天来说说Laravel的入门。

ThinkSNS1阅读 2.4k

confluence7.2.1的部署与迁移---呕心沥血版
Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。 到官网下载最新版本,截止目前...

暗涌阅读 7.8k

Ubuntu 20.04 读写 Windows 10 共享目录(qbit)
本文实验环境中,Windows 操作系统版本为 Windows Server 2016,应该对 Windows 10 和 Windows Server 2019 同样适用

qbit1阅读 6.3k

身强体健,龙精虎猛的活着。

456 声望
3 粉丝
宣传栏