PHP 8.4 带来了多项新功能、安全性改进和性能改进,以及大量功能弃用和删除。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4。虽然可以从源代码编译 PHP,但从 APT 存储库安装它(如下所述)通常更快、更安全,因为这些存储库将来会提供最新的错误修复和安全更新。

当前 Debian 和 Ubuntu 软件存储库中不提供 PHP 8.4。本指南使用 Ondřej Surý 维护的存储库。 Ondrej 的 PHP 存储库已成为 PHP 事实上的存储库 在 Ubuntu、Debian 及其衍生产品上运行了好几年。
PHP 8.4 带来了一些新功能,例如属性挂钩, 非对称可见性、DOM、Curl、PCRE 扩展的改进,以及 更多。
但是,PHP 8.4 还弃用了一些 PHP 功能并删除了 从 PHP 核心到 PECL 的四个 PHP 扩展。这可能会影响现有的 PHP 应用程序发出额外的 PHP 通知/警告,或在某些情况下失败
可能影响现有应用程序的一些显着更改包括:
当 PHP 扩展从 PHP 核心移动到 PECL 时,该扩展 将遵循自己的发布周期。指南中使用的存储库 如果该扩展的 PECL 项目将为他们提供更新 发布更新。然而,这也意味着 PECL 扩展可以(并且 经常)在维护方面落后。
在继续之前,请确保备份系统。本指南 与任何现有 PHP 安装并排安装 PHP 8.4, 这提供了一种简单的方法来切换回其他 PHP 安装,如果 必要的。
zuojiankuohaophpcnh2 1. 列出现有的 PHP 包
此步骤仅适用于升级现有的 PHP 设置。以下命令列出了名称中包含文本 php 的所有已安装 PHP 包,将其显示在屏幕上,并将其写入名为 packages.txt 的文件。该文件在稍后安装 PHP 8.4 软件包时会派上用场,以确保安装相同的 PHP 8.4 版本扩展列表。
dpkg -l | grep php | tee packages.txt
因为 PHP 8.4 包在当前任何版本中都不可用 Debian 或 Ubuntu 软件存储库,PHP 软件包必须来自 另一个仓库。
Ondřej Surý 维护一个包存档,其中包含所有已编译的二进制文件 当前的 PHP 版本,适用于 Ubuntu 和 Debian。它还运送了一些 PECL 扩展包括用于 PHP 核心扩展的 PECL 扩展(未捆绑) 在 PHP 8.4 中。
添加此存储库后,可以使用标准 apt 命令完成初始安装和更新。
Ubuntu PPA
立即学习“PHP免费学习笔记(深入)”;
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update
Debian DPA
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
在 Ondrej 的 PPA 和 DPA 中,PHP 8.4 包遵循 php8.1-NAME 模式。 PECL 和共享 PHP 扩展也遵循相同的模式。
在安装 PHP 扩展之前,请确保安装以下 PHP Server API (SAPI) 软件包之一:
要安装 PHP CLI,请安装 php8.1-cli 包以及扩展
sudo apt install php8.4-cli
要将 PHP CLI 和 PHP 8.4 安装为 Apache 模块,请安装 libapache2-mod-php8.4 软件包:
sudo apt install php8.4-cli libapache2-mod-php8.4
除非 PHP 应用程序需要将 PHP 安装为 Apache 模块,否则请考虑安装 PHP-FPM
建议安装 PHP-FPM,以将 PHP 与 Apache、Nginx 和 Caddy 等 Web 服务器集成。
sudo apt install php8.4-cli php8.4-fpm
这将安装 php8.4-fpm 服务并自动启用它。请参阅 FPM Web 服务器集成部分,了解稍后所需的其他步骤。
要快速检查 PHP 安装,请运行以下命令:
php -v
它应该显示 PHP 版本、构建时间和更多信息:

如果安装了 PHP-FPM 服务,可以按如下方式检查其状态:
sudo systemctl status php8.4-fpm
如果 PHP-FPM 服务器成功运行,它应该显示类似于以下内容的输出:

所有共享 PHP 扩展和 PECL 扩展都遵循 php8.4-EXTNAME 模式,其中 extname 是扩展的名称。
升级现有系统时,请参阅在第一步中创建的 packages.txt 文件,用于检查现有的 PHP 8.3 或更早版本的 PHP 扩展。
要安装 PHP 扩展,请使用使用带有 php-8.4- 前缀的 PHP 扩展名称的 apt install 命令。例如,gd 扩展与 php8.4-gd 包一起安装:
sudo apt install php8.4-gd
以下命令安装大多数 PHP 库和框架所需的一组最常见的 PHP 扩展:
sudo apt install php8.4-common php8.4-{bcmath,bz2,curl,gd,gmp,intl,mbstring,opcache,readline,xml,zip}要搜索其他 PHP 扩展,请使用 apt search 命令:
apt search php8.4
Xdebug 和代码覆盖工具等开发工具也可以按照相同的包命名约定进行安装。
不建议在生产服务器上执行此步骤。
sudo apt install php8.4-xdebug
sudo apt install php8.4-xdebug
根据步骤 3 中安装的服务器 API,Web 服务器集成可能需要额外配置才能使 PHP 8.4 升级生效。
当使用 PHP-FPM(通过安装 php8.4-fpm 包)时,需要重新配置 Web 服务器以通过以下方式与 PHP 8.4 FPM 服务器进行通信更新了套接字路径。
Apache:通过打开 PHP 8.4 配置文件可以轻松进行此配置更改:
sudo a2enconf php8.4-fpm
Nginx:更新 fastcgi_pass 指令从旧的 PHP FPM 套接字路径到新的 PHP 8.4 路径:
- fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_pass unix:/run/php/php8.4-fpm.sock;
参见Nginx 文档了解更多信息
Caddy Server:更新反向代理指令以使用新的 PHP 8.4 FPM 服务器套接字路径:
- reverse_proxy @phpFiles unix//run/php/php8.3-fpm.sock reverse_proxy @phpFiles unix//run/php/php8.4-fpm.sock
请参阅如何将 Caddy Server 与 PHP 结合使用更多配置细节。
如果 PHP 作为 Apache 模块安装Apache 模块,以下命令禁用以前的 PHP 模块(本例中为 8.3)并启用新的 PHP 版本:
sudo a2dismod php8.3 # Change to the current PHP versionsudo a2enmod php8.4
以上就是适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号