首页 > 后端开发 > php教程 > 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南

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

Christopher Nolan
发布: 2024-12-24 16:42:46
转载
170 人浏览过

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中文网其他相关文章!

相关标签:
php
来源:php.watch
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板