当前位置: 首页 > news >正文

PHP 8.4 安装和升级指南

文章精选推荐

1 JetBrains Ai assistant 编程工具让你的工作效率翻倍
2 Extra Icons:JetBrains IDE的图标增强神器
3 IDEA插件推荐-SequenceDiagram,自动生成时序图
4 BashSupport Pro 这个ides插件主要是用来干嘛的 ?
5 IDEA必装的插件:Spring Boot Helper的使用与功能特点
6 Ai assistant ,又是一个写代码神器
7 Cursor 设备ID修改器,你的Cursor又可以继续试用了

文章正文

PHP 8.4 安装和升级指南

PHP 8.4 是 PHP 8 系列的一个版本,在性能、功能和语言特性方面进行了若干优化和增强。此指南将详细介绍如何在不同操作系统(Linux、Windows、macOS)上安装和升级 PHP 8.4。

1. PHP 8.4 新特性

虽然 PHP 8.4 是一个新版本,但它的主要改进和新特性可能包括(根据实际发布内容更新):

  • 性能改进
  • 新的语法特性(如类型增强、函数改进等)
  • 更严格的类型检查
  • 弃用一些不推荐使用的功能
  • 错误处理和日志记录增强

具体特性会随 PHP 8.4 的正式发布而更新,建议查看 PHP 官方发布日志获取最新的信息。

2. 在 Linux 上安装 PHP 8.4

2.1 使用包管理器(适用于 Ubuntu/Debian)

在 Ubuntu 或 Debian 系统上,可以通过 apt 包管理器安装 PHP 8.4。首先,需要添加 PHP 8.4 的 PPA(个人包档案库)并更新软件包列表。

# 更新系统包列表
sudo apt update# 安装 PHP 8.4 需要的库
sudo apt install software-properties-common# 添加 PHP 8.4 PPA
sudo add-apt-repository ppa:ondrej/php# 更新包列表
sudo apt update

现在可以安装 PHP 8.4 和常用扩展:

# 安装 PHP 8.4
sudo apt install php8.4# 安装常用扩展
sudo apt install php8.4-cli php8.4-fpm php8.4-mysql php8.4-xml php8.4-curl php8.4-mbstring php8.4-json php8.4-zip
2.2 切换 PHP 版本(如果已有多个版本)

如果系统已经安装了多个 PHP 版本,可以使用以下命令切换 PHP 版本:

# 查看已安装的 PHP 版本
sudo update-alternatives --display php# 设置 PHP 8.4 为默认版本
sudo update-alternatives --set php /usr/bin/php8.4
sudo update-alternatives --set phpize /usr/bin/phpize8.4
sudo update-alternatives --set php-config /usr/bin/php-config8.4
2.3 使用 PHP-FPM(适用于 Web 服务器)

如果你使用 Nginx 或 Apache 作为 Web 服务器,你还需要安装并配置 PHP-FPM(FastCGI Process Manager):

# 安装 PHP 8.4 FPM
sudo apt install php8.4-fpm# 启动 PHP-FPM 服务
sudo systemctl start php8.4-fpm# 设置开机启动
sudo systemctl enable php8.4-fpm

对于 Nginx,可以配置 PHP-FPM:

server {listen 80;server_name example.com;root /var/www/html;index index.php;location ~ \.php$ {fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;fastcgi_index index.php;include fastcgi_params;}
}

对于 Apache,可以启用 PHP-FPM 模块:

# 启用 PHP 8.4 FPM 模块
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.4-fpm# 重启 Apache
sudo systemctl restart apache2

3. 在 Windows 上安装 PHP 8.4

3.1 使用 Windows 安装包
  1. 访问 PHP 官方下载页面:PHP Downloads
  2. 下载适用于 Windows 的 VC15 x64 Thread Safe 版本(或适合你系统的版本)。
  3. 解压缩下载的文件(比如到 C:\php)。
  4. 在环境变量中添加 PHP 目录路径:
    • 右键点击 “我的电脑” → “属性” → “高级系统设置” → “环境变量”。
    • 在 “系统变量” 部分,找到 Path,并点击 “编辑”。
    • 添加 C:\php 目录路径。
  5. 在命令行中运行 php -v 来验证安装是否成功。
3.2 配置 PHP 和 Web 服务器

如果你使用 Apache 作为 Web 服务器,可以执行以下步骤:

  1. 下载并安装 Apache:从 Apache Lounge 下载适合的版本。
  2. 修改 Apache 配置文件 httpd.conf,添加 PHP 模块配置:
    LoadModule php_module "c:/php/php8apache2_4.dll"
    PHPIniDir "C:/php"
    AddHandler application/x-httpd-php .php
    
  3. 重启 Apache,确保 PHP 正常工作。

4. 在 macOS 上安装 PHP 8.4

4.1 使用 Homebrew 安装

Homebrew 是 macOS 上常用的包管理器,可以非常方便地安装和管理 PHP 版本。

  1. 安装 Homebrew(如果尚未安装):

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 更新 Homebrew 并安装 PHP 8.4:

    # 更新 Homebrew
    brew update# 安装 PHP 8.4
    brew install php@8.4
    
  3. 将 PHP 8.4 设置为默认 PHP 版本:

    brew link --overwrite --force php@8.4
    
  4. 验证安装:

    php -v
    
4.2 使用 macOS 系统自带的 PHP(不推荐)

macOS 也自带了 PHP,但通常不推荐使用,因为它可能不是最新版本,而且 Apple 已经计划在未来版本中移除 PHP。使用 Homebrew 安装 PHP 是更推荐的方式。

5. PHP 8.4 升级指南

如果你已经安装了旧版本的 PHP,可以通过以下方式升级到 PHP 8.4。

5.1 在 Ubuntu/Debian 上升级
  1. 更新 PPA 和软件包列表:

    sudo apt update
    
  2. 安装 PHP 8.4:

    sudo apt install php8.4
    
  3. 如果有多个 PHP 版本,使用 update-alternatives 切换 PHP 版本:

    sudo update-alternatives --set php /usr/bin/php8.4
    sudo update-alternatives --set phpize /usr/bin/phpize8.4
    sudo update-alternatives --set php-config /usr/bin/php-config8.4
    
  4. 安装 PHP 8.4 相关扩展:

    sudo apt install php8.4-cli php8.4-fpm php8.4-mysql php8.4-xml php8.4-curl php8.4-mbstring php8.4-json php8.4-zip
    
  5. 重启 Web 服务器(如 Apache 或 Nginx):

    sudo systemctl restart apache2
    sudo systemctl restart nginx
    
5.2 在 Windows 上升级
  1. 下载新的 PHP 8.4 安装包。
  2. 解压缩并覆盖旧版本的 PHP 文件。
  3. 确保 php.ini 文件已经更新,并根据需要调整配置。
  4. 重启 Apache 或 IIS(如果在 Windows 上使用)。
5.3 在 macOS 上升级
  1. 使用 Homebrew 更新 PHP:

    brew update
    brew upgrade php@8.4
    
  2. 验证 PHP 版本:

    php -v
    

6. 总结

安装和升级 PHP 8.4 的过程因操作系统不同而有所差异,但总体来说,安装 PHP 8.4 非常简单,并且可以通过常见的包管理器(如 APT、Homebrew 等)轻松完成。

  • Ubuntu/Debian 上,使用 PPA 安装和管理 PHP。
  • Windows 上,可以手动安装并配置 PHP 和 Apache。
  • macOS 上,使用 Homebrew 是最方便的方式。

记得在安装或升级后,重启相关的服务(如 Apache 或 Nginx),并验证 PHP 版本是否正确更新。

相关文章:

PHP 8.4 安装和升级指南

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...

什么是 OpenResty

1、OpenResty简介 1.1 了解OpenResty OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 简单地说OpenRes…...

Windows图形界面(GUI)-QT-C/C++ - QT控件创建管理初始化

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 控件创建 包含对应控件类型头文件 实例化控件类对象 控件设置 设置父控件 设置窗口标题 设置控件大小 设置控件坐标 设置文本颜色和背景颜色 控件排版 垂直布局 QVBoxLayout …...

【计算机网络】lab8 DNS协议

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2.…...

了解linux中的“of_property_read_u32()”

of_property_read_u32(node, "post-pwm-on-delay-ms",&data->post_pwm_on_delay); /*根据"post-pwm-on-delay-ms",从属性中查找并读取一个32位整数*/ /*读到一个32位整数,保存到data->post_pwm_on_delay中*/ of_property_read_u32…...

iOS - Objective-C 底层中的内存屏障

1. 基本实现 // objc-os.h 中的内存屏障实现 #define OSMemoryBarrier() __sync_synchronize()// ARM 架构特殊处理 static ALWAYS_INLINE void OSMemoryBarrierBeforeUnlock() { #if defined(__arm__) || defined(__arm64__)OSMemoryBarrier(); #endif } 2. 解锁前的内存屏…...

阿里云服务器扩容系统盘后宝塔面板不显示扩容后的大小

解决方法步骤: 1. yum install cloud-utils-growpart xfsprogs -y 2.growpart /dev/vda 3 扩容系统盘的第3个分区 主要是这个命令1 3. fdisk -l 4. df -h 5. xfs_growfs /dev/vda3 主要是这个命令2 主要使用 df -Th 这个命令查看对应的文件系统类型 (1)、ext…...

c语言——【linux】多进程编程 【进程的创建,相关shell指令,进程状态切换,回收资源,守护进程等】

1.思维导图 2.进程的创建 函数原型:pid_t fork(void); 功能描述:以当前进程为父进程,创建一个子进程 进程链和进程扇的创建 3.多进程具体使用 3.1进程替换 exec 函数一族 int execl(const char *path, const char *arg, ... /* (char *) N…...

macos 搭建 ragflow 开发环境

ragflow 是一个很方便的本地 RAG 库。本文主要记录一下在本机的部署过程 1、总体架构说明 开发环境:macbook pro(m1),16G内存 512G固态 因本机的内存和硬盘比较可怜,所以在服务器上部署基础 docker 包,…...

信创改造-龙蜥操作系统搭载MySql、Tomcat等服务

龙蜥操作系统 Anolis OS 8 是 OpenAnolis 社区推出的完全开源、中立、开放的发行版,它支持多计算架构,也面向云端场景优化,兼容 CentOS 软件生态。Anolis OS 8 旨在为广大开发者和运维人员提供稳定、高性能、安全、可靠、开源的操作系统服务。…...

Java 数据结构 队列之双端队列 常用方法 示例代码 及其实现

目录 常用方法 示例代码 常见实现 Java中的双端队列(Deque,Double Ended Queue)是一种队列,它允许在队列的两端插入和删除元素。与普通队列(FIFO)不同,双端队列的元素可以从队列的两端进行添…...

【原创】大数据治理入门(2)《提升数据质量:质量评估与改进策略》入门必看 高赞实用

提升数据质量:质量评估与改进策略 引言:数据质量的概念 在大数据时代,数据的质量直接影响到数据分析的准确性和可靠性。数据质量是指数据在多大程度上能够满足其预定用途,确保数据的准确性、完整性、一致性和及时性是数据质量的…...

arcgis中生成格网矢量带高度

效果 1、数据准备 (1)矢量边界(miain.shp) (2)DEM(用于提取格网标高) (3)DSM(用于提取格网最高点) 2、根据矢量范围生成格网 模板范围选择矢量边界,像元宽度和高度根据坐标系来输入,我这边是4326的,所以输入的是弧度,输出格网矢量gewang.shp 3、分区统计 …...

使用gtsam添加OrientedPlane3Factor平面约束因子

在基于地面约束的SLAM优化中,已知的地面信息(如 plan.pcd 文件中的地面模型)可以用作一个先验约束,以帮助优化位姿估计。具体而言,这个过程涉及将地面模型和每个帧的位姿结合,以创建一个因子模型&#xff0…...

换了城市ip属地会变吗?为什么换了城市IP属地不变

当我们跨越城市的界限,从一个地方迁移到另一个地方时,许多日常使用的网络服务和应用程序都会感知到这种变化,其中一个显著的现象就是IP属地的变化。IP属地,即IP地址所在的地理位置信息,它通常与互联网服务提供商&#…...

移远通信多模卫星通信模组BG95-S5获得Skylo网络认证,进一步拓展全球卫星物联网市场

近日,全球领先的物联网整体解决方案供应商移远通信正式宣布,其支持“卫星蜂窝”多模式的高集成度NTN卫星通信模组BG95-S5已成功获得NTN网络运营商Skylo的网络认证。BG95-S5也成为了获得该认证的最新款移远卫星通信模组。 BG95-S5模组顺利获得Skylo认证&a…...

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南 什么是 Type Hierarchy? Type Hierarchy 是 IntelliJ IDEA 提供的一个工具,允许开发者查看某个类的继承关系及其实现的接口结构。它是理解类关系的重要工具,尤其在处理复杂的继承体系…...

简聊MySQL并发事务中幻读、虚读问题的解决方案

在MySQL数据库中,事务的幻读和虚读问题是并发控制中的关键挑战。以下是针对这两个问题的解决方案及原理说明,并附上相关示例。 一、幻读问题及其解决方案 幻读问题的定义 幻读是指一个事务在前后两次查询同一个范围的时候,后一次查询看到了…...

【搭建JavaEE】(2)Tomcat安装配置和第一个JavaEE程序

Tomcat–容器(Container) 下载 Apache Tomcat - Welcome! 下载完成 请求/响应 结构 测试 查看Jdk版本 改端口号localhost8080–>8099 学学人家以后牛逼了可以用自己名字当文件夹名 配置端口8099 找到server文件 用记事本打开 再打开另一个logging文件 ”乱码解决“步骤&…...

【Qt】01-了解QT

踏入QT的殿堂之路 前言一、创建工程文件1.1 步骤介绍1.2 编译介绍方法1、方法2、编译成功 二、了解框架2.1 main.cpp2.2 .Pro文件2.2.1 注释需要打井号。2.2.2 F1带你进入帮助模式2.2.3 build文件 2.3 构造函数 三、编写工程3.1 main代码3.2 结果展示 四、指定父对象4.1 main代…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...

WebRTC调研

WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...

JDK 17 序列化是怎么回事

如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...

Windows 下端口占用排查与释放全攻略

Windows 下端口占用排查与释放全攻略​ 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。​ 一、准…...