You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dockerfile执行cURL安装Composer时报错:openssl扩展不支持SHA384

Dockerfile执行cURL安装Composer时报错:openssl扩展不支持SHA384

看起来你遇到的问题根源很明确——你的PHP环境缺少了openssl扩展,导致无法支持SHA384哈希算法,而Composer的安装脚本正是靠这个算法来验证安装包完整性的。

解决方法很简单,只需要在Dockerfile的apt-get install包列表里添加php7.4-openssl即可:

修改后的安装部分代码如下:

RUN apt-get update && \
apt-get -y install \
software-properties-common \
vim \
curl \
sudo \
dnsutils \
telnet \
git \
wget \
zip \
unzip \
unison \
gawk \
php7.4-cli \
php7.4-openssl \  # 新增这一行
php7.4-mysql \
php7.4-gd \
php7.4-curl \
php7.4-ldap \
php7.4-xmlrpc \
php7.4-xml \
php7.4-mbstring \
php7.4-zip \
php7.4-mbstring \
composer \
subversion \
openjdk-8-jdk \
make ruby ruby-dev gcc && \
apt-get clean && rm -rf /var/lib/apt/lists/*

为什么这能解决问题?因为Ubuntu 20.04的php7.4-cli包默认不包含openssl扩展,必须单独安装php7.4-openssl包才能让PHP支持SHA384这类哈希算法。你之前更换Composer版本没用,就是因为问题出在PHP环境本身,和Composer版本无关。

另外,手动复制installer.php也解决不了问题,因为报错的是PHP无法执行SHA384哈希计算,而不是installer文件本身的问题。

备注:内容来源于stack exchange,提问作者NewUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 09:38:05