您的 openssl 扩展不支持 SHA384,无法验证 phar 文件完整性

Posted

技术标签:

【中文标题】您的 openssl 扩展不支持 SHA384,无法验证 phar 文件完整性【英文标题】:SHA384 is not supported by your openssl extension, could not verify the phar file integrity 【发布时间】:2019-07-25 18:05:07 【问题描述】:

当我在 Windows 10 上运行 composer self-update 时出现错误 这是完整的错误消息

     composer self-update
     Updating to version 1.8.4 (stable channel).
     Downloading (100%)


     [RuntimeException]
    SHA384 is not supported by your openssl extension, could not verify the phar file integrity

我正在运行php 7.3.2 可能是什么问题?

【问题讨论】:

您使用的是旧版本的作曲家。尝试完全删除它并从头开始安装最新版本。 Here's a Github issue 关于此错误消息。 您需要卸载 composer = 1.7.3 以避免将来所有更新类型安装时出现更新错误 @MagnusEriksson 重新安装成功 或者你可以先切换回php 7.2,然后运行composer selfupdate。如果成功,您可以切换到 php 7.3 或 7.4。 【参考方案1】:

删除旧版本并安装最新版本的 Composer,

删除您的旧版本: sudo rm -f /usr/local/bin/composer

下载安装程序: sudo curl -s https://getcomposer.org/installer | php

移动 composer.phar 文件: sudo mv composer.phar /usr/local/bin/composer

【讨论】:

实际上甚至不需要删除旧版本。只需安装新的并移动composer.phar 在某些机器和安装中,最好执行命令“chmod +x /usr/local/bin/composer”使其可执行。 OP 使用的是 Windows 操作系统,因此这些命令不适用。 这在报告相同 openssl 问题的 Docker 容器中也适用于我。【参考方案2】:

该错误表示您使用的是composer 版本1.7.2 或更低版本。 你必须卸载composer,然后安装composer版本1.7.3及以上。

【讨论】:

【参考方案3】:

我刚刚在我的 Windows 机器上遇到了同样的问题。我刚刚从 https://getcomposer.org/download/ 下载并安装了 Composer,当我尝试运行 php composer-setup.php 时,它失败并显示“您的 openssl 扩展不支持 SHA384”。

对我有用的解决方案是执行命令行安装(记录在同一站点上)。访问https://getcomposer.org/download/获取最新的SHA。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c5b9b6d368201a9db6f74e2611495f369991b72d9c8cbd3ffbc63edff210eb73d46ffbfce88669ad33695ef77dc76976')  echo 'Installer verified';  else  echo 'Installer corrupt'; unlink('composer-setup.php');  echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

【讨论】:

【参考方案4】:

手动更新作曲家:

wget -cO - https://getcomposer.org/composer-stable.phar > /usr/local/bin/composer

检查已安装的作曲家版本:

composer --version

【讨论】:

【参考方案5】:

您可以从https://getcomposer.org/ 下载最新版本,只需替换 composer 文件夹中的文件 composer.phar,在我的机器上,它安装在 的 windows 中>C:\作曲家

【讨论】:

【参考方案6】:

解决方案 1

手动更新作曲家(卸载并安装)

解决方案 2

错误表示您使用的是 Composer 1.7.2 或以下版本。

卸载 composer,然后安装 composer 1.7.3 及以上版本。

composer self-update --rollback 并运行 composer self-update。

谢谢!

【讨论】:

以上是关于您的 openssl 扩展不支持 SHA384,无法验证 phar 文件完整性的主要内容,如果未能解决你的问题,请参考以下文章

OpenSSL 3.0 版本已经发布VS2019编译源码教程

hashlib库:Python的加密算法实践

hashlib库:Python的加密算法实践

Python模块 - hashlib

python的hashlib模块

openssl和CA