【问题标题】:install php7.4 on ubuntu 16.04 - Dockerfile在 ubuntu 16.04 上安装 php7.4 - Dockerfile
【发布时间】:2021-09-11 11:06:37
【问题描述】:

我正在尝试使用以下命令安装 php7.4 和相关软件包

FROM ubuntu:16.04
RUN apt update \
    && apt install -y software-properties-common\
    && add-apt-repository ppa:ondrej/php \
    && apt-get update \
    && apt-get install -y php7.4

我收到以下消息

Reading package lists...
Building dependency tree...
Reading state information...
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'

关于搜索

apt-cache search php7

我看到只有 7.0 相关的包可用

php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-common - documentation, examples and common module for PHP
php7.0-curl - CURL module for PHP

我很困惑为什么我没有获得更新的版本,因为 7.3、7,4 和 8 应该是今天唯一可用的版本。如何获取php7.4包?

【问题讨论】:

  • 为什么不用现成的 PHP docker 镜像呢? hub.docker.com/_/php
  • 感谢您的评论,这是一个实时应用程序,所以我不热衷于更改整个 dockerfile 以升级到 php7.4。上面的 dockerfile 被简化为只显示 PHP 安装。
  • apt search php7 on 16.04 仅显示 7.0 的包。 7.4 不可用。

标签: docker ubuntu-16.04 php-7


【解决方案1】:

TL;DR:由于 Ubuntu 16.04 达到“标准支持结束”,它的软件包已从 PPA 中删除。


您可能想阅读以下内容:https://github.com/oerdnj/deb.sury.org/issues/1567

2021 年 4 月,Ubuntu 16.04 Xenial 将终止标准支持,并且仅通过 Ubuntu 扩展安全维护作为付费选项提供。

这对 DEB.SURY.ORG PPA 意味着什么?

  • Ubuntu 16.04 的软件包将在 EoL/EoSS 宣布后不久被删除,通常与下一个 PHP 版本发布的同时,因为无法再构建这些软件包。

  • Ubuntu 16.04 的软件包将通过 Freexian 付费程序的 PHP LTS 提供。这比之前宣布的私有专用存储库更便宜。

【讨论】:

  • 感谢您提供此信息。尽管我怀疑 16.04 已从 ppa 中删除,但根据 Ubuntu 站点信息,16.04 尚未达到其生命周期的尽头。不确定 ppa 包是如何工作的。 wiki.ubuntu.com/Releases
  • 是的,你是对的。这不是 EOL,而是“标准支持结束”。 Ubuntu 16.04 现在处于 ESM 时期 (ubuntu.com/security/esm)。相应地更新了我的答案。
【解决方案2】:

在 Ubuntu 20.04 上安装 PHP 7.4

注意:Ubuntu 20.04 在其上游存储库中附带 PHP 7.4。只需使用 apt 包管理器安装它和您的扩展即可。

sudo apt update
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

确认PHP版本:

$ php --version
PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

在 Ubuntu 18.04/16.04 上安装 PHP 7.4

第 1 步:添加 PHP PPA 存储库 我们将添加 ppa:ondrej/php PPA 存储库,其中包含最新的 PHP 构建包。

sudo apt-get update
sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

第 2 步:在 Ubuntu 18.04/19.04/16.04 上安装 PHP 7.4 使用以下命令在 Ubuntu 18.04/19.04/16.04 上安装 PHP 7.4:

sudo apt -y install php7.4

检查安装的版本:

$ php -v
PHP 7.4.0beta4 (cli) (built: Aug 28 2019 11:41:49) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.0beta4, Copyright (c), by Zend Technologies

使用下一条命令安装额外的包:

sudo apt-get install php7.4-xxx

例子:

sudo apt-get install -y php7.4-{bcmath,bz2,intl,gd,mbstring,mysql,zip,common}

Apache相关的PHP配置存放在/etc/php/7.4/apache2/php.ini

希望我的经验能帮到你们

【讨论】:

  • 恕我直言,这不是您的经验,而是从另一个网站复制粘贴的内容:)
  • 我同意@ZoliSzabó。这是对与在 ubuntu 上安装 PHP 相关的任何事情的标准回复,但不了解此处的真正问题。
猜你喜欢
  • 2017-04-12
  • 2018-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-23
  • 2018-04-26
相关资源
最近更新 更多