Magento 2: Что вызывает ошибку "Не удалось включить криптографию"?


Я пытаюсь установить Magento 2.1 с помощью мета-пакета composer с помощью следующей команды

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

Однако композитору не удается обновить packages.json из repo.magento.com и сообщает

"https://repo.magento.com/packages.json "не удалось загрузить файл: Не удалось включить криптографию

Кто-нибудь знает, что вызывает эту ошибку "Не удалось включить криптографию" и как кто-то может ее исправить?

Author: 7ochem, 2016-06-23

3 answers

Похоже, что Magento серьезно ужесточил свой HTTPS на сервере repo.magento.com.

Эти настройки достаточно жесткие, чтобы приложения, поддерживающие HTTPS, но использующие более старую версию OpenSSL, могли отклонять свои подключения.

Это означает, что если версия PHP, которую вы используете для запуска composer.phar, связана с более старой версией PHP, вы получите ошибку Не удалось включить криптографию. Вы можете протестировать свою версию PHP с помощью следующего фрагмента кода.

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

Причиной, по которой я получил эту ошибку, была/является упакованная версия PHP, которую я использовал (в зависимости от того, как вы считаете) в течение почти 13 лет, связывалась с более старой версией SSL. Разработчики пакетов выпустили новую сборку, которая, похоже, решает эти проблемы.

Если вы используете другую упакованную версию PHP, вам нужно будет надавить на сопровождающих пакетов, чтобы они выпустили новую сборку, исправляющую это, или надавить на Magento, чтобы сделать то же самое.

Если вы сами создаете версию PHP (вручную, с помощью brew и т. Д.), Затем убедитесь, что вы используете современную версию OpenSSL с современной поддержкой TLS (возможно, я неправильно использовал эти слова, а не эксперт по HTTPS/SSL)

 6
Author: Alan Storm, 2016-06-27 04:58:32

Я решил проблему, обновив пакет liip OS X

Http://php-osx.liip.ch

Вам просто нужно выполнить однострочную команду на этой странице

Источник: http://devdocs.magento.com/guides/v2.0/release-notes/tech_bull_tls-repo.html

ИЗМЕНИТЬ: После этого убедитесь, что вы используете обновленную версию с php -v и which php

Спасибо @Alanstorm!

 4
Author: mrzhero, 2016-07-18 17:06:38

Я не уверен, что может вызвать эту ошибку, кроме того, что, возможно, связано с тем, что Composer устанавливает защищенное соединение по протоколу https? Но это всего лишь предположение.

Я только что выполнил команду прямо сейчас, и она прошла успешно.

Может быть, попробуем еще раз? Приношу свои извинения за то, что не дал больше информации.

 -1
Author: ryanF, 2016-06-24 00:10:54