目录
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

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

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1268
29
C# 教程
1248
24
在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中的晚期静态绑定(静态::)。 解释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,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。

PHP和Python:比较两种流行的编程语言 PHP和Python:比较两种流行的编程语言 Apr 14, 2025 am 12:13 AM

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP行动:现实世界中的示例和应用程序 PHP行动:现实世界中的示例和应用程序 Apr 14, 2025 am 12:19 AM

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP:网络开发的关键语言 PHP:网络开发的关键语言 Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP的持久相关性:它还活着吗? PHP的持久相关性:它还活着吗? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

See all articles