当前位置: 首页 > 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代…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

【位运算】消失的两个数字(hard)

消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...