【问题标题】:Unable to install PHP 7.4 on Ubuntu 16.04 even with Ondrej PPA repository in apache2即使在 apache2 中使用 Ondrej PPA 存储库,也无法在 Ubuntu 16.04 上安装 PHP 7.4
【发布时间】:2021-08-27 10:09:48
【问题描述】:

我正在尝试在 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

我收到以下错误:

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'

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

Unable to install PHP 7.3 on Ubuntu 20.04

他们都没有帮助。如何安装这个包?

【问题讨论】:

  • 在 askubuntu.com 上询问可能会更好,因为这与从存储库安装有关,而不是编码问题。
  • 是的@aynber,但我认为 SO 拥有比 askubantu.com 更大的社区,这就是为什么我选择 SO
  • 确定它有一个更大的社区,但问题是,我们只回答编程问题,而不是系统设置问题。见What topics can I ask about here?。每个 stackexchange 社区都会回答不同类型的问题。
  • P.S.您提供的链接指的是不同版本的 PHP 和不同版本的 Ubuntu。所以不能保证它适用于你的场景。 Ubuntu 16.04 刚刚停止支持,所以你应该升级操作系统,而不是 PHP 版本。
  • 这很不幸。但在很大程度上无关紧要......更大的问题是运行不受支持的操作系统。升级到较新的版本,您应该会发现安装最新版本的 PHP 不是问题。

标签: php ubuntu php-7.4


【解决方案1】:

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

多毛 (21.04)、Groovy (20.10)、Focal (20.04)、仿生 (18.04)

这就是找不到包的原因。

【讨论】:

  • 以前我有php 7.3,它工作正常,但由于某种原因我需要安装7.4,所以我删除了7.3,我未能安装php 7.4php 7.3 . 现在我没有任何php版本
  • 是的,如前所述,您的操作系统不再受支持。 Ondrej PPA 仅支持仍受支持的 Ubuntu(和 php)版本。对 16.04 的标准支持于 2021 年 4 月用完,从那时起您可能没有获得任何 php7.3 更新(顺便说一句,它也很快就会用完支持)。您将无法再次通过 ondrej ppa 安装它。但是由于您的操作系统已经过时并且不受支持,您真的应该更新它。将您的操作系统更新到至少 18.04 后,您应该可以安装任何 php 版本 >= 7.3
  • 我如何安装php 7.3 即使使用 16.04 ,是否有任何其他选项或 repo 可以做到这一点
  • 你可以手动编译它(那里有很多教程展示了如何),或者你也可以下载相应的 .deb 包并手动安装我猜。但请记住,这两种方式中的任何一种您都不会收到自动安全更新等。同样:如果可能,应该进行系统升级。
  • @Tobias 你更安全。我在运行 16.04 的不同机器上对此进行了测试,但它们都找不到任何 PHP 包。花了一整天后,我偶然发现了这篇文章。谢谢老兄。
【解决方案2】:

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

sudo add-apt-repository ppa:jczaplicki/xenial-php74-temp
sudo apt-get update

注意:

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

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

【讨论】:

  • 我不是反对者,但通常不建议仅使用代码的答案;您还应该解释代码如何解决问题。当有其他答案时,说明您的答案为何不同或有所改进也很有帮助。
【解决方案3】:

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

sudo add-apt-repository ppa:tomvlk/php-archive
sudo apt-get update

【讨论】:

    【解决方案4】:

    这里是 ZendPHP 存储库的安装说明 - https://help.zend.com/zendphp/current/content/installation/installation.htm

    ZendPHP 安装包替代了 Ubuntu 16.04 发行版的 PHP,并在 Ubuntu 16.04 上支持 PHP 5.6、PHP 7.1、PHP 7.2、PHP 7.3 和 PHP 7.4。 Zend 还为 EOL 且不再接收高级和关键安全补丁的版本提供 PHP LTS

    【讨论】:

    • 您好,欢迎来到 SO。您发布的链接可能会提供答案,但如果您可以在帖子中提供更多详细信息,以防链接中的信息发生更改或链接失效
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 2023-04-10
    • 2018-06-09
    相关资源
    最近更新 更多