首页 程序笔记 在 Rocky/AlmaLinux/CentOS 9|8 上安装 PHP 8.3

在 Rocky/AlmaLinux/CentOS 9|8 上安装 PHP 8.3

PHP 是一种在 Web 开发中流行的优秀开源、多功能编程语言。众所周知,PHP 为 WordPress 和 Joomla 等主要 Web 平台提供支持。开始 PHP 之旅的一种方法是将其安装在本地系统中。在本文中,我们分享在 Rocky/AlmaLinux/CentOS 9|8 上设置 PHP 8.3 的操作过程。有大量资源可供有兴趣学习 PHP 的人使用。其中包括博客教程、官方文档、公共论坛和数千个开源项目。

启用 Remi 和 EPEL 存储库

在撰写本文时,PHP 8.3 是最新版本。 PHP 8.3 软件包可在 Remi 的第三方 RPM 存储库中获取。我们将把它添加到我们的系统中。

### Rocky / AlmaLinux / CentOS 9 ###
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-9.rpm

### Rocky / AlmaLinux / CentOS 8 ###
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm

我们还需要 EPEL 存储库作为依赖项。

### Rocky / AlmaLinux / CentOS 9 ###
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

### Rocky / AlmaLinux / CentOS 8 ###
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

添加两个存储库后更新 dnf 缓存。

sudo dnf makecache -y

列出系统上配置的存储库。

$ sudo dnf repolist
repo id                                                                    repo name
appstream                                                                  CentOS Stream 9 - AppStream
baseos                                                                     CentOS Stream 9 - BaseOS
epel                                                                       Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264                                                        Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
epel-next                                                                  Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common                                                              CentOS Stream 9 - Extras packages
remi-modular                                                               Remi's Modular repository for Enterprise Linux 9 - x86_64
remi-safe                                                                  Safe Remi's RPM repository for Enterprise Linux 9 - x86_64

重置系统上的默认 PHP 模块。

sudo dnf module reset php -y

安装 PHP 8.3 和扩展

启用 PHP 8.3 Remi 模块

sudo dnf module -y install php:remi-8.3

这应该在几秒钟内完成。

Last metadata expiration check: 0:01:28 ago on Thu 08 Feb 2024 06:27:51 PM UTC.
Dependencies resolved.
======================================================================================================================================================================================================
 Package                                            Architecture                             Version                                             Repository                                      Size
======================================================================================================================================================================================================
Installing group/module packages:
 php-cli                                            x86_64                                   8.3.2-1.el9.remi                                    remi-modular                                   5.5 M
 php-common                                         x86_64                                   8.3.2-1.el9.remi                                    remi-modular                                   1.2 M
 php-fpm                                            x86_64                                   8.3.2-1.el9.remi                                    remi-modular                                   1.9 M
 php-mbstring                                       x86_64                                   8.3.2-1.el9.remi                                    remi-modular                                   577 k
 php-xml                                            x86_64                                   8.3.2-1.el9.remi                                    remi-modular                                   220 k
Installing dependencies:
 httpd-filesystem                                   noarch                                   2.4.57-6.el9                                        appstream                                       13 k
 libxslt                                            x86_64                                   1.1.34-9.el9                                        appstream                                      243 k
 oniguruma5php                                      x86_64                                   6.9.9-1.el9.remi                                    remi-safe                                      219 k
Installing weak dependencies:
 nginx-filesystem                                   noarch                                   1:1.22.1-2.el9                                      appstream                                       12 k
Installing module profiles:
 php/common
Enabling module streams:
 php                                                                                         remi-8.3

Transaction Summary
======================================================================================================================================================================================================
Install  9 Packages

Total download size: 9.9 M
Installed size: 55 M
Downloading Packages:
...

安装 php 包以供 CLI 使用和其他关键扩展。

sudo dnf -y install php php-{common,pear,cgi,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}

检查当前的 PHP 版本以确认安装是否成功。

$ php --version
PHP 8.3.2 (cli) (built: Jan 16 2024 13:46:41) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.2, Copyright (c), by Zend Technologies

您还可以运行以下命令来显示活动模块。

php --modules

将 PHP 与 Nginx 或 Apache 结合使用

如果您使用 Nginx 或 Apache 虚拟主机,您可以将它们配置为使用 PHP。

1)使用Nginx网络服务器

您将需要 PHP-FPM(FastCGI 进程管理器)来侦听传入的 PHP 请求并执行它们。

sudo dnf install nginx php-fpm vim -y

启动并启用服务。

$ sudo systemctl enable --now nginx php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

配置 PHP-FPM 监听套接字而不是 IP 和端口,并设置其他配置。

$ sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

应用更改后重新启动 PHP FPM 服务。

sudo systemctl restart php-fpm

在 Nginx 配置文件的 http 块中添加以下块,以将 PHP 请求转发到 PHP-FPM。

$ sudo vim /etc/nginx/nginx.conf
server {
    listen 80;
    server_name myapp.example.com;
    root /var/www/myapp;
    index index.php index.html;

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/php-fpm.sock;
    }
}

检查配置语法。

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

2) 使用 Apache 网络服务器

Apache Web 服务器中的 PHP 代码通常通过 mod_php 模块执行。这是与 apache 一起打包的。这些模块直接在 Apache 进程中处理 PHP 代码。

如果没有安装Apache httpd服务器包,请按如下方式执行。

sudo dnf -y install httpd php-fpm

如果 Nginx 处于活动状态,请将其禁用或将侦听地址从 80/443 更改为其他端口。

sudo systemctl disable --now nginx

现在启动并启用 httpd 服务。

sudo systemctl enable --now httpd php-fpm

测试 PHP 8.3 安装

在 Web 根目录 /var/www/html/ 中创建一个测试 PHP 文件来测试 PHP 的工作情况。

sudo echo "<?php phpinfo(); ?>" > /var/www/html/test.php

访问 PHP 测试页面 http://localhost_or_serverip/test.php。

我们可以确认 PHP 正在按预期工作。您现在可以删除测试脚本。

sudo rm -f /var/www/html/test.php

以下是有关 PHP 和 Web 技术的最佳书籍列表。

  • 掌握网页设计的最佳书籍
  • 学习 Web 开发的最佳书籍 - PHP、HTML、CSS、JavaScript 和 jQuery
  • 学习 CSS 和 CSS3 的最佳书籍
  • 学习 HTML 和 HTML5 的最佳书籍
  • 最佳 Apache 和 Nginx 参考书

有关 PHP 的更多深入信息,请访问 php.net 文档。


2

站心网

PHP 是一种在 Web 开发中流行的优秀开源、多功能编程语言。众所周知,PHP 为 WordPress 和 Joomla 等主要 W..

为您推荐

如何选择更适合你的 Linux 发行版?

很多人经常会问我这样一个问题:“嘿,你是用Linux的,对吧?我应该使用Linux的哪个版本?我有这个朋友推荐我_____,你觉得怎么样?”我通常会以这样的问题回复:这取决于你想做什么?今天我决定写一篇关于如何选择L..

VS创建.NET Core项目使用Docker方式部署到Linux服务器

在 Visual Studio(VS) 中,使用 Docker 方式部署 .NET Core 项目 到 Linux 服务器,可以简化环境管理并提高部署效率。以下是完整教程:1. 在 VS 创建 .NET Core 项目并启用 Docker新建 ASP.NET Core 项目打开 Visu..

最新CentOS7安装搭建shadowsocks服务端+客户端使用图文教程

使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..

sourcetree安装跳过注册方法

SourceTree下载提取码: ni9m 需翻墙或者破解注册当前只有Win的版本,Mac自行百度很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者..

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..

IIS使用Certify安装Let's Encrypt免费SSL证书

域名疑似被流量劫持,不仅被腾讯网址安全中心检测成危险网站,还间歇性出现访问域名被302重定向到Localhost。于是决定响应百度站长平台的号召,进行HTTPS改造。不用担心HTTPS后的SEO问题,百度站长平台官方已经表态..

Kubernetes(k8s) Linux安装和配置

什么是Kubernetes(k8s)?Kubernetes(通常称为"k8s")是一种用于自动部署、扩展和管理容器化应用程序的开源平台。它提供了一个容器编排和管理系统,可以自动化应用程序的部署、管理和缩放,并确保它们的高可用性。在..

如何下载和使用tor洋葱浏览器

什么是Tor浏览器Tor浏览器是一种免费的、开源的网络浏览器,旨在为用户提供更高的隐私和匿名性。它使用了 Tor 网络来加密和隐蔽用户的网络流量,从而隐藏用户的真实 IP 地址和其他个人信息,让用户在互联网上匿名地..

绿叶博客安装图文教程

绿叶博客安装非常简单,整个过程可以在一分钟内完成,接下来请看下面的图文教程。 第一步、确认您的发布环境 首先您必须确定您的发布环境是否支持本博客。本博客的发布环境要求是: .NET Framework4.0+、IIS6+、MS ..

Linux下RabbitMQ安装和.NET Core使用RabbitMQ.Client操作

RabbitMQ简介AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反..

Windows下RabbitMQ安装和使用EasyNetQ组件操作

RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可..

Python环境安装,解释器配置

下载安装完Pycharm后,创建一个py文件编写代码会提示No Python interpreter configured for the project,这是提示要配置解释器,可以去官网下载安装。从官网下载https://www.python.org/downloads/windows/以我的电..

Phthon IDE PyCharm下载安装

PyCharm下载地址https://www.jetbrains.com/pycharm/download/根据系统选择下载,我使用的是Windows系统,开发人员建议选择Professional版(收费的,可以使用激活码激活)。双击运行安装程序,点击下一步,选择安装..

Linux sed命令关键字匹配文件中整行的任意字符然后替换整行

Linux sed命令关键字匹配文件中整行的任意字符然后替换整行语法:sed -i s/.*要匹配的字串符.*/待替换的字串符/ test.txt例如,文件中内容如下:aabbccddbbccdd要将包含bb的行替换为www,使用如下命令:sed -i s/.*b..

Linux中date命令如何格式化输出需要的时间格式

linux中date命令,可以输出各种格式的时间,有时候在shell脚本中需要获取一定格式的时间字符串,直接使用date命令格式化时间输出就可以完成。date命令的help如下:ferris@ferris-pc:~$ date --help用法:date [选项]..

使用Docker Wine Qemu KVM在Linux运行Windows应用

Docker、Wine、Qemu和KVM都是在Linux上运行Windows程序的工具,但它们的实现方式和使用场景有所不同。Docker是一个容器化技术,它可以在Linux系统中创建和运行容器,这些容器可以包含Windows程序和其所需的依赖项。D..

CentOS离线安装unzip

要在离线的 CentOS 系统上安装 unzip,你需要在有网络连接的机器上下载所需的软件包,然后将它们传输到离线的 CentOS 机器。以下是详细的步骤:在线机器准备:使用一个有网络连接的机器,并按照以下步骤进行操作:1...

Debian Linux国内常用镜像源

随着Debian Buster 10.3的发布,Debian Buster 日趋稳定。如果在生产上使用了 Debian 9 的系统,现在是可以安全的,灰度升级到 Debian Buster 做前期验证了。这里我们整理一下国内较知名的镜像站点,供大家在生产环..

CentOS7安装unzip解压工具命令使用方法

CentOS7可以通过yum命令安装支持zip的工具unzip,下面是安装和使用的方法。安装unzip工具yuminstall-yunzipzip使用unzip命令解压zip文件#解压到当前目录下unziptest.zip#使用-d参数解压到指定目录下unzip-d/filestes..

Linux使用Docker部署.NET6网站图文教程

本文主要实践在Linux使用Docker部署.NET Core网站。服务器使用的是CentOS7.9版本。我们使用Visual Studio2022创建.NET Core网站并生成Dockerfile文件,然后上传到Linux服务器并使用Docker部署网站。创建网站并生成Do..

发表回复

返回顶部