gpt4 book ai didi

php - 在 Ubuntu 20.04 上更新 PHP 7.4 不会更新到最新版本

转载 作者:行者123 更新时间:2023-12-03 15:54:43 27 4
gpt4 key购买 nike

我只是想在新的 Ubuntu 20.04 上安装 PHP 7.4,

做一个简单的apt install php php-cli默认安装7.4版本,

但是当我做 apt update && apt upgrade版本仍为 7.4.3而不是 7.4.5 !

Please note that I'm aware this can be fixed by adding ppa:ondrej/php repository.



我只是想了解,如果 Ubuntu 默认附带 7.4,为什么它不更新到最新版本?我们会一直得到 7.4.3在 Ubuntu 20.04.0 (不是下一个版本)即使在 2-3 年后?唯一的选择是添加 ondrej/php存储库?

编辑:PHP 7.4.6 已在几周前发布,但我服务器上的版本仍停留在 7.4.3 上。

最佳答案

以前接受的answer是错的。
这种说法

it's common that some packages remain outdated for a few months


给人的印象是 Ubuntu LTS 版本在 PHP 团队发布几个月后不断升级到最新的次要版本。
这不是真的!
Ubuntu的更新政策
TL;DR Ubuntu 官方打包的 PHP 在安全方面是最新的,在错误修复方面是过时的。
以下是 Ubuntu/Canonical 实际维护 PHP 等官方软件包的方式:
当 Ubuntu 准备 LTS 版本时,有一个 功能卡住 ( details ) 在某个时间点。这意味着即使打包软件在 Ubuntu 的功能卡住之前和最终 LTS 版本之后发布了更新的次要版本(例如修复错误),这个次要版本更新也不会再进入 Ubuntu。
对于 Ubuntu Focal Fossa 20.04 LTS,PHP 在 7.4.3 版本中被卡住。这意味着 Focal 的 php 包在其支持生命周期内将永远不会再获得次要版本更新(例如 7.4.6)。
然而,这并不意味着 Fossa 的 php 包永远不会得到更新。
SRU
事实恰恰相反:它将使用这些所谓的稳定版本更新或简短的 SRUs 进行修补。 .
那么什么进入 SRU 呢?
主要修复 高影响错误 大多数情况下归结为安全漏洞。见 SRUs对于 Ubuntu 认为的高影响错误。
无论如何,您最终得到的是 Focal Fossa 在其整个生命周期内收到多个修补版本的 PHP 7.4.3。换句话说,Focal Fossa 中存在多个 PHP 7.4.3 版本,如您在包的 change log 中所见。 .
它显示多个版本,如 7.4.3-4ubuntu1 , 7.4.3-4ubuntu2 , 7.4.3-4ubuntu2.5依此类推,您可以看到大多数安全错误都已修复。
如何检查实际安装的是哪个版本?
问题是 php -v将始终报告 PHP 7.4.3 .但是,看看输出的细节: PHP 7.4.3 (cli) (built: Jul 5 2021 15:13:35) ( NTS ) .它建于 2021 年 7 月 5 日已经暗示看似旧的 7.4.3 版本发生了一些事情。
要确定安装的是哪个版本,请 apt 询问: apt policy php7.4 .
输出:
apt policy output
在这种情况下 7.4.3-4ubuntu2.5已安装。再次,看一下包装的 change log查看该构建中包含的内容。
所有影响 PHP 7.4 的安全漏洞都已修复吗?
是的。
PHP 7.4 ChangeLog 比较,您会发现除了一个(afaik 只是 Windows 受影响)之外的所有安全问题 (CVE) 都在 Ubuntu 软件包中得到修复。除此之外,仅包括一些非安全错误修复。
Ubuntu 的安全团队正在密切关注 tracking CVE 数据库并维护自己的 Ubuntu CVE tracker .
你应该使用 Ubuntu 的官方 PHP 包吗?
这取决于你的情况。我倾向于说这是一个很好的默认值。
无论如何,您应该根据以下事实做出决定:
当您使用 Ubuntu 的官方 PHP 包时,您可以确定它会在 Ubuntu 实际版本的整个生命周期内收到安全更新(如果是像 Focal Fossa 20.04 这样的 LTS 版本,则为 5 年)。即使 PHP 7.4 达到生命周期结束(2022 年底),Ubuntu 的安全团队仍然会修补官方的 php7.4 软件包。换句话说,即使 PHP 团队不再发布安全修复程序,Ubuntu 的安全团队也会。
相反,当您使用像 Ondrej 的 PPA 之类的东西时,您将不得不在 2022 年底之后切换到 PHP 8。如果您不这样做,您的 PHP 将不再获得安全修复。
虽然 Ubuntu 的 php 包将获得安全修复,但它几乎不会获得其他类型的错误修复。要么你很幸运,你的软件没有受到影响,要么你必须解决这些错误。如果错误严重影响您的软件(例如性能问题),您可以考虑切换到 PPA 包。

关于php - 在 Ubuntu 20.04 上更新 PHP 7.4 不会更新到最新版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61765545/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com