Magento 2:「暗号化を有効にできませんでした」というエラーの原因は何ですか?


7

次のコマンドでcomposerメタパッケージを介してMagento 2.1をインストールしようとしています

composer create-project --repository=https://repo.magento.com/ magento/project-community-edition

ただし、composerはpackages.jsonfromの更新に失敗しrepo.magento.com、レポートします

https://repo.magento.com/packages.json」ファイルをダウンロードできませんでした:暗号を有効にできませんでした

この「暗号化を有効にできませんでした」というエラーの原因と、それを修正する方法を誰かが知っていますか?


データrepo.magento.comを取得する際には認証が必要です。ルートディレクトリにauth.jsonがあり、magentoリポジトリのユーザー名とパスワードが含まれているはずです{ "http-basic": { "repo.magento.com": { "username": "a98186c7f7777dbb05d959bdb91b9729", "password": "344ce14c479f1c8eae77edb58b4ec66f" } } }
Aman Alam

@amanAlamよろしいですか?auth.jsonをしばらく使用していて、今日まで問題なく動作していたからです。また、エラーは認証の問題ではなく、暗号の問題を参照しています。なぜそれが認証エラーであると確信するのですか?
アランストーム

以前はインストール中に認証エラーが発生し、問題が解決したため、問題が解決する可能性があるため、あまり確信が持てません。
アマンアラム2016年

このリンクを確認してくださいこれはgithub.com/composer/composer/issues/4825
Aman Alam

コード例の@AlanStormでは、--repository-urlスペルが正しくありません。SEは編集に最低6文字を必要としているため、自分で編集することはできませんでした。また、質問をいじくりたくありませんでした。
ryanF 2016年

回答:


6

Magento はサーバー上でHTTPSを大幅に強化しているようrepo.magento.comです。

これらの設定は、HTTPSをサポートしているが古いバージョンのOpenSSLを使用するアプリケーションが接続を拒否する可能性があるほど厳格です。

つまり、実行に使用しているPHPのバージョンがPHPのcomposer.phar古いバージョンに対してリンクされている場合、暗号化エラーを有効にできませんでした。次のコードスニペットを使用して、PHPのバージョンをテストできます。

error_reporting(E_ALL);
$context = stream_context_create();
$contents = file_get_contents('https://repo.magento.com/packages.json', false, $context);

このエラーが発生した理由は約13年間(カウント方法に応じて)使用しているPHPのパッケージバージョンが古いバージョンのSSLにリンクしていたためです。パッケージメンテナはこれらの問題に対処しているように見える新しいビルドをリリースしました。

別のパッケージ化されたバージョンのPHPを使用している場合は、パッケージメンテナーにこれを修正する新しいビルドをリリースするように圧力をかけるか、Magentoに同じように圧力をかける必要があります。

PHPのバージョンを自分で(手作業でbrew、などを介して)構築している場合は、最新のTLSサポートを備えたOpenSSLの最新バージョンを使用していることを確認してください(HTTPS / SSLエキスパートではなく、これらの単語を間違って使用した可能性があります)任意のストレッチで)


4

OS X liipパッケージを更新して解決しました

http://php-osx.liip.ch

そのページで1行のコマンドを実行するだけです

ソース:http : //devdocs.magento.com/guides/v2.0/release-notes/tech_bull_tls-repo.html

EDIT:この後は、あなたが更新されたバージョンを使用していることを確認php -vし、which php

@AlanStormありがとうございます!


2
OS Xのliipパッケージの更新がうまくいきました。詳細がわからなければ、まだ暗号エラーが表示される場合は、最新のliipバージョンを実行していないと思います。
アランストーム

高速だったOMG!:Dうん、正しかった、私は最新バージョンを使っていなかった。私はbash_profileにphp5.6のエイリアスを置き、それはうまくいきました!アラン、ありがとう!
mrzhero 2016

-1

HTTPS経由で安全な接続を確立するComposerに関連している可能性がある以外に、何がそのエラーの原因になるのかわかりませんか?しかし、それは推測にすぎません。

私は今コマンドを実行しただけで成功しました。

もう一度やってみませんか?より多くの洞察を提供していないことに対する私の謝罪。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.