2024-12-24

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

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

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

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

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

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 软件包必须来自
另一个仓库。

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
登录后复制

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 install php8.4-cli
登录后复制

PHP-CLI 和 PHP 作为 Apache 模块

要将 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 CLI 和 PHP-FPM(推荐)

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

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

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

5.检查安装

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

php -v
登录后复制

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

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

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

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

如果 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 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 和代码覆盖工具等开发工具也可以按照相同的包命名约定进行安装。

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

Xdebug

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

PCOV

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

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 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 模块

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

https://www.php.cn/faq/1156566.html

发表回复

Your email address will not be published. Required fields are marked *