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

冷炫風刃
发布: 2024-12-24 16:42:34
转载
1224人浏览过
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 安装,如果 必要的。


zuojiankuohaophpcnh2    1. 列出现有的 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 服务器成功运行,它应该显示类似于以下内容的输出:

协和·太初
协和·太初

国内首个针对罕见病领域的AI大模型

协和·太初38
查看详情 协和·太初
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中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php.watch网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号