[英]Composer in Alpine Docker PHP Fatal error
更新:php-curl 扩展导致分段错误。
我在 ARM64 上使用 alpine 3.15 和 PHP 7.0 和 7.1 运行 docker 管道。
我使用安装作曲家
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
自昨天(4 月 5 日)以来,所有管道都失败并出现以下错误:
PHP 致命错误:Composer\IO\BaseIO::hasAuthentication($repositoryName) 的声明必须与 phar:///usr/bin/composer/src/Composer 中的 Composer\IO\IOInterface::hasAuthentication(string $repositoryName) 兼容/IO/BaseIO.php 第 20 行
我尝试使用旧版本的作曲家,但在所有这些版本上我得到:
分段故障
这在过去的 6 个月里运行良好。 所以最近在作曲家构建上发生了一些变化。 我还尝试在 Intel 上运行并以经典方式安装作曲家,但是,我也遇到了同样的错误。
您正在安装composer:latest
,从今天开始将安装 Composer 2.3。 你正在 PHP 7.0 和 PHP 7.1 上进行。
Composer 2.3 不再支持那些 PHP 版本(PHP 也不再支持它的价值)。
如 2.2 发行说明中所述,Composer 2.3 将所需的 PHP 版本增加到 >=7.2.5,从而停止支持 PHP 5.3.2 - 7.2.4。 2.2 LTS 仍然适用于使用旧版 PHP 的用户。
您的选择是:
您可以尝试使用 2.2 版,我认为应该可以。 如果没有,请继续向后退,直到找到适合您的堆栈的一个。
COPY --from=composer:2.2 /usr/bin/composer /usr/bin/composer
这行不通:
FROM php:7.1-cli-alpine
COPY --from=composer:2.3 /usr/bin/composer /usr/bin/composer
RUN mkdir /someproject
WORKDIR /someproject
RUN composer create-project symfony/skeleton .
但这将:
FROM php:7.1-cli-alpine
COPY --from=composer:2.2 /usr/bin/composer /usr/bin/composer
RUN mkdir /someproject
WORKDIR /someproject
RUN composer create-project symfony/skeleton .
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.