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

36

我正在尝试在Apache2服务器上的Ubuntu 16.04安装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'

我尝试了这个问题中提到的所有解决方案:无法在Ubuntu 20.04上安装PHP 7.3。但是它们都没有帮助。请问我该如何安装这个软件包?

1
你可以在askubuntu.com上询问,因为这与从存储库安装有关,而不是编码问题。 - aynber
2
当然,它有一个更大的社区,但问题是,我们只回答编程问题,而不是系统设置问题。请参见这里可以问什么样的问题?。每个StackExchange社区都回答不同类型的问题。 - ADyson
@ADyson 我也尝试了 php 7.3 版本,但仍然无法工作。 - Santosh Dangare
是的,但它也是不同的操作系统版本,就像我之前提到的那样。可能软件包不支持16.04(这也许并不奇怪,因为16.04本身也不受支持)。就像我说的...是时候升级Ubuntu了! - ADyson
2
很不幸,但这在很大程度上是无关紧要的...更大的问题是运行不受支持的操作系统。升级到较新版本,您应该会发现安装最新版本的PHP不是问题。 - ADyson
显示剩余6条评论
4个回答

30

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

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

注意:

这将向您的系统添加一个外部PPA仓库。如果您不信任维护者,不应执行此操作,因为可能会暴露您的系统。还要注意,尽管这可能适用于安装PHP,但不能保证您能够通过它接收更新(仓库名称中的“temp”一词表示这仅是临时的)。我建议,如果您确实需要在16.04上安装它,最好自己编译

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


4
我不是点踩者,但仅有代码的答案通常不被推荐;你应该解释一下代码是如何解决问题的。当有其他答案时,说明你的答案与众不同或是有所改进也会有帮助。 - rmlockerd
谢谢!这不是最好的解决方案,但ppa仓库可以帮助你在时间不足的情况下解决问题。 - maxirodr
感谢你的回答,它对我很有帮助。其他地方都找不到这个答案。 - Chris Nadovich

28

您的操作系统Ubuntu 16.04(Xenial)已经过时了。

Ondrej PPA仅支持以下操作系统(截至2021年6月10日):

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

这就是为什么没有找到相应软件包的原因。


1
之前我安装了 php 7.3,一切正常。但由于某些原因,我需要安装 7.4 版本,所以我卸载了 7.3,但是在尝试安装 php 7.4php 7.3 时都失败了。现在我没有任何 php 版本可用 - Santosh Dangare
7
是的,正如所说的,您的操作系统已不再受支持。Ondrej PPA 仅支持仍处于支持状态的 Ubuntu 版本(以及 php)。标准支持 16.04 已在2021年4月结束,此后您可能没有获得任何 php7.3 的更新(顺便提一下,它也即将停止支持)。您将无法再通过 ondrej ppa 安装它。但由于您的操作系统已过时且不受支持,您应该真正考虑更新它。在将操作系统至少更新到 18.04 后,您应该可以安装任何php版本>= 7.3。 - Tobias
我该如何在16.04上安装 PHP 7.3?是否有其他选项或存储库可用? - Santosh Dangare
2
你可以手动编译它(有很多教程可以参考),或者你也可以下载相应的.deb包并手动安装。但请记住,这两种方式都不会自动接收安全更新等。再次强调:如果可能的话,应该进行系统升级。 - Tobias
有哪些支持在Ubuntu 16.04上安装PHP 7.3或7.4的软件包? - Santosh Dangare
3
@Tobias,你真的太厉害了。我尝试在运行16.04的不同机器上测试它,但它们都找不到任何PHP软件包。经过一整天的探索,我偶然发现了这篇文章。谢谢你,老兄。 - BRO_THOM

14

我最近遇到了这个问题,幸运的是我找到了一个存档着原始Ondrej PPA的仓库。你可以安装php7.4和扩展。不过,对于任何存档,请谨慎使用,因为它们可能存在安全风险。

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

1
现在你只能从这个中得到7.3,但至少所有的都在那里。 - baradhili
截至今天,我只能获得7.0.33版本。 - Yoann Pageaud

1

你好,欢迎来到SO。你发布的链接可能提供了答案,但如果链接中的信息发生变化或链接失效,如果你在帖子中提供更多细节将会更好。 - Simas Joneliunas
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。-【来自审查】 - SL ART
问题在于Zend是一个非免费的源代码,所以你需要付费才能访问——如果你无法升级你的版本,这是可以接受的,但你应该注意这一点。此外...对1604的支持已经被移除了。 - baradhili

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接