目录
PHP 8.4 中潜在的向后兼容性影响
2.添加 ondrej/php PPA/DPA
3。安装 PHP 8.4 服务器 API 包
仅安装 PHP-CLI
PHP-CLI 和 PHP 作为 Apache 模块
PHP CLI 和 PHP-FPM(推荐)
5.检查安装
4。安装 PHP 扩展
开发工具
Xdebug
PCOV
5。 Web 服务器集成
PHP-FPM
PHP 作为 Apache 模块
首页 后端开发 php教程 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南

Dec 24, 2024 pm 04:42 PM
php

PHP 8.4 带来了多项新功能、安全性改进以及 通过大量弃用功能来提高性能 和删除。

本指南介绍了如何安装 PHP 8.4 或升级到 PHP 8.4 Ubuntu、Debian 或其衍生版本。虽然可以从源代码编译 PHP, 如下所述,从 APT 存储库安装它通常会更快 并且更安全,因为这些存储库将提供最新的错误 未来的修复和安全更新。

当前 Debian 和 Ubuntu 软件存储库中不提供 PHP 8.4。本指南使用 Ondřej Surý 维护的存储库。 Ondrej 的 PHP 存储库已成为 PHP 事实上的存储库 在 Ubuntu、Debian 及其衍生产品上已经存在了好几年了。

截屏2024-12-24 16.35.26.png

PHP 8.4 中潜在的向后兼容性影响

PHP 8.4 带来了一些新功能,例如属性挂钩, 非对称可见性、DOM、Curl、PCRE 扩展的改进以及 更多。

但是,PHP 8.4 还弃用了一些 PHP 功能并删除了 从 PHP 核心到 PECL 的四个 PHP 扩展。这可能会影响现有的 PHP 应用程序发出额外的 PHP 通知/警告,或在某些情况下失败

可能影响现有应用程序的一些显着更改包括:

  • 已弃用隐式可为空参数声明
  • 已弃用 E_STRICT 常量
  • 扩展从 PHP 核心移至 PECL:Pspell、IMAP、OCI8 和PDO_OCI。

当 PHP 扩展从 PHP 核心移动到 PECL 时,该扩展 将遵循自己的发布周期。指南中使用的存储库 如果该扩展的 PECL 项目将为他们提供更新 发布更新。然而,这也意味着 PECL 扩展可以(并且 经常)在维护方面落后。

在继续之前,请确保备份系统。本指南 与任何现有的 PHP 安装并排安装 PHP 8.4, 它提供了一种简单的方法来切换回其他 PHP 安装,如果 必要的。


此步骤仅适用于升级现有的 PHP 设置。以下命令列出名称中包含文本 php 的所有已安装 PHP 包,将其显示在屏幕上,并将其写入名为 packages.txt 的文件。该文件在稍后安装 PHP 8.4 软件包时会派上用场,以确保安装相同的 PHP 8.4 版本扩展列表。

dpkg -l | grep php | tee packages.txt
登录后复制
登录后复制
登录后复制

2.添加 ondrej/php PPA/DPA

因为 PHP 8.4 包在当前任何版本中都不可用 Debian 或 Ubuntu 软件存储库,PHP 软件包必须来自 另一个仓库。

翁德热·苏里 维护一个包存档,其中包含所有已编译的二进制文件 当前的 PHP 版本,适用于 Ubuntu 和 Debian。它还运送了一些 PECL 扩展包括用于 PHP 核心扩展的 PECL 扩展(未捆绑) 在 PHP 8.4 中。

添加此存储库后,可以使用标准 apt 命令完成初始安装和更新。


Ubuntu PPA

dpkg -l | grep php | tee packages.txt
登录后复制
登录后复制
登录后复制

Debian DPA

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update
登录后复制
登录后复制

3。安装 PHP 8.4 服务器 API 包

在 Ondrej 的 PPA 和 DPA 中,PHP 8.4 包遵循 php8.1-NAME 模式。 PECL 和共享 PHP 扩展也遵循相同的模式。

在安装 PHP 扩展之前,请确保安装以下 PHP Server API (SAPI) 软件包之一:

仅安装 PHP-CLI

要安装 PHP CLI,请安装 php8.1-cli 包以及扩展

sudo apt-get updatesudo apt-get -y install lsb-release ca-certificates curl apt-transport-httpssudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.debsudo dpkg -i /tmp/debsuryorg-archive-keyring.debsudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'sudo apt-get update
登录后复制
登录后复制

PHP-CLI 和 PHP 作为 Apache 模块

要将 PHP CLI 和 PHP 8.4 安装为 Apache 模块,请安装 libapache2-mod-php8.4 软件包:

sudo apt install php8.4-cli
登录后复制
登录后复制

除非 PHP 应用程序需要将 PHP 安装为 Apache 模块,否则请考虑安装 PHP-FPM

PHP CLI 和 PHP-FPM(推荐)

建议安装 PHP-FPM,以将 PHP 与 Apache、Nginx 和 Caddy 等 Web 服务器集成。

sudo apt install php8.4-cli libapache2-mod-php8.4
登录后复制
登录后复制

这将安装 php8.4-fpm 服务并自动启用它。请参阅 FPM Web 服务器集成部分,了解稍后所需的其他步骤。

5.检查安装

要快速检查 PHP 安装,请运行以下命令:

sudo apt install php8.4-cli php8.4-fpm
登录后复制
登录后复制

它应该显示 PHP 版本、构建时间和更多信息:

`php -v` output
`php -v` 输出

如果安装了 PHP-FPM 服务,可以按如下方式检查其状态:

php -v
登录后复制
登录后复制

如果 PHP-FPM 服务器成功运行,它应该显示类似于以下内容的输出:


php-fpm status
`systemctl 状态 php8.4-fpm`输出

4。安装 PHP 扩展

所有共享 PHP 扩展和 PECL 扩展都遵循 php8.4-EXTNAME 模式,其中 extname 是扩展的名称。

升级现有系统时,请参阅在第一步中创建的 packages.txt 文件,用于检查现有的 PHP 8.3 或更早版本的 PHP 扩展。

要安装 PHP 扩展,请使用使用带有 php-8.4- 前缀的 PHP 扩展名称的 apt install 命令。例如,gd 扩展与 php8.4-gd 包一起安装:

sudo systemctl status php8.4-fpm
登录后复制

以下命令安装大多数 PHP 库和框架所需的一组最常见的 PHP 扩展:

sudo apt install php8.4-gd
登录后复制

要搜索其他 PHP 扩展,请使用 apt search 命令:

dpkg -l | grep php | tee packages.txt
登录后复制
登录后复制
登录后复制

开发工具

Xdebug 和代码覆盖工具等开发工具也可以按照相同的包命名约定安装。

在生产中不建议执行此步骤服务器。

Xdebug

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update
登录后复制
登录后复制

PCOV

sudo apt-get updatesudo apt-get -y install lsb-release ca-certificates curl apt-transport-httpssudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.debsudo dpkg -i /tmp/debsuryorg-archive-keyring.debsudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'sudo apt-get update
登录后复制
登录后复制

5。 Web 服务器集成

根据步骤 3 中安装的服务器 API,Web 服务器集成可能需要额外配置才能使 PHP 8.4 升级生效。

PHP-FPM

当使用 PHP-FPM(通过安装 php8.4-fpm 包)时,需要重新配置 Web 服务器以通过以下方式与 PHP 8.4 FPM 服务器进行通信更新了套接字路径。


Apache:通过打开 PHP 8.4 配置文件可以轻松进行此配置更改:

sudo apt install php8.4-cli
登录后复制
登录后复制

Nginx:更新 fastcgi_pass 指令从旧的 PHP FPM 套接字路径到新的 PHP 8.4 路径:

sudo apt install php8.4-cli libapache2-mod-php8.4
登录后复制
登录后复制

参见Nginx 文档了解更多信息


Caddy Server:更新reverse_proxy指令以使用新的 PHP 8.4 FPM 服务器套接字路径:

sudo apt install php8.4-cli php8.4-fpm
登录后复制
登录后复制

请参阅如何将 Caddy Server 与 PHP 结合使用更多配置细节。

PHP 作为 Apache 模块

如果 PHP 安装为 Apache 模块Apache 模块,以下命令禁用以前的 PHP 模块(本例中为 8.3)并启用新的 PHP 版本:

php -v
登录后复制
登录后复制

以上是适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

我后悔之前不知道的 7 个 PHP 函数 我后悔之前不知道的 7 个 PHP 函数 Nov 13, 2024 am 09:42 AM

如果您是一位经验丰富的 PHP 开发人员,您可能会感觉您已经在那里并且已经完成了。您已经开发了大量的应用程序,调试了数百万行代码,并调整了一堆脚本来实现操作

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

在PHP API中说明JSON Web令牌(JWT)及其用例。 在PHP API中说明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

php程序在字符串中计数元音 php程序在字符串中计数元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

您如何在PHP中解析和处理HTML/XML? 您如何在PHP中解析和处理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

解释PHP中的晚期静态绑定(静态::)。 解释PHP中的晚期静态绑定(静态::)。 Apr 03, 2025 am 12:04 AM

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

什么是PHP魔术方法(__ -construct,__destruct,__call,__get,__ set等)并提供用例? 什么是PHP魔术方法(__ -construct,__destruct,__call,__get,__ set等)并提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。

See all articles