即使在 apache2 中使用 Ondrej PPA 存储库,也无法在 Ubuntu 16.04 上安装 PHP 7.4

San*_*are 15 php ubuntu php-7.4

我正在尝试在 Ubuntu 16.04 上为 Apache2 服务器安装 PHP 7.4。为了安装 7.4 版本,我使用了 PPA ondrej 存储库,如下所示:

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php7.4
php -v
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package php7.4
E: Couldn't find any package by glob 'php7.4'
E: Couldn't find any package by regex 'php7.4'
Run Code Online (Sandbox Code Playgroud)

我尝试了回答这个问题时提到的所有解决方案:

无法在 Ubuntu 20.04 上安装 PHP 7.3

他们都没有帮助。我怎样才能安装这个包?

Tob*_*ias 18

您的操作系统 Ubuntu 16.04 (Xenial) 太旧了。Ondrej PPA 仅支持以下操作系统(截至 2021 年 6 月 10 日):

Hirsute (21.04)、Groovy (20.10)、Focal (20.04)、Bionic (18.04)

这就是为什么没有找到包的原因。

  • 是的,如上所述,您的操作系统不再受支持。Ondrej PPA 仅支持仍受支持的 Ubuntu(和 php)版本。对 16.04 的标准支持已于 2021 年 4 月结束,从那时起您可能没有获得任何 php7.3 更新(顺便说一句,它也很快就会停止支持)。您将无法再次通过 ondrej ppa 安装它。但由于您的操作系统已经过时并且不再支持,您确实应该更新它。将操作系统更新到至少 18.04 后,您应该可以安装任何 >= 7.3 的 php 版本 (5认同)
  • @托比亚斯,你的生活更安全。我在运行 16.04 的不同机器上对此进行了测试,但没有一个机器可以找到任何 PHP 包。经过一整天的努力,我偶然发现了这篇文章。多谢,伙计。 (3认同)
  • 您可以手动编译它(有很多教程展示了如何编译),或者您也可以下载相应的 .deb 包并手动安装它们,我猜。但请记住,无论采用哪种方式,您都不会收到自动安全更新等。再次强调:如果可能,应进行系统升级。 (2认同)

小智 15

我最近遇到了这个。幸运的是,我找到了一个包含原始 Ondrej PPA 档案的存储库。您将能够安装 php7.4 和扩展。但是,我会小心对待任何档案,因为它们可能存在安全风险。

sudo add-apt-repository ppa:tomvlk/php-archive
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以通过将此 3rd 方存储库添加到您的系统来存档:

sudo add-apt-repository ppa:jczaplicki/xenial-php74-temp
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

警告:

这是向您的系统添加外部 PPA 存储库。如果您不信任维护者,则不应这样做,因为它可能会暴露您的系统。另请注意,这可能适用于安装 php,但不能保证您通过它接收更新(存储库名称中的“temp”一词表示这只是暂时的)。如果您确实需要在 16.04 上安装它,我宁愿建议您自己编译它

作为“长期解决方案”,您确实应该更新您的系统。

  • 我不是反对者,但通常不推荐仅使用代码的答案;您还应该解释代码如何解决问题。当有其他答案时,也有助于说明为什么您的答案不同或有改进。 (4认同)