在 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 文档。
更新于:4个月前
相关文章
- 【说站】php常见运行模式详解
- 【说站】PHP使用fread()操作字节
- 【说站】PHP中define定义常量的方法
- 【说站】php上传文件代码
- 【说站】php数组转字符串
- 【说站】php框架有哪些
- 【说站】php数组函数有哪些
- 【说站】php架构师是做什么的
- 【说站】php安装扩展的几种方法
- 【说站】如何打开php项目
- 【说站】phpstorm配置php环境
- 【说站】php安装扩展的几种方法
- 【说站】php实现文件的上传和下载
- 【说站】php安装mysql扩展模块
- 【说站】php文件怎么在手机上打开
- 【说站】php文件怎么转成mp3
- 【说站】php文件用什么软件编写
- 【说站】php架构什么意思
- 【说站】php八大数据类型
- 【说站】php遍历文件夹