2014-01-04 5 views
7

моя сеть не очень хорошо работает с HTTPS, тем самымкомпозитор отключить протокол HTTPS полностью

composer.phar install 

бросает

[Composer\Downloader\TransportException]               
    The "https://packagist.org/packages.json" file could not be downloaded: Failed to enable crypto 
    failed to open stream: operation failed 

я использовал

{ 
    "packagist": false 
}, 
{ 
    "type": "composer", 
    "url": "http://packagist.org", 
    "options": { 
     "ssl": { 
      "verify_peer": "false" 
     } 
    } 
} 

как HTTP falback, но опять-таки он падает в некоторых других точках:

Installing dependencies 
    - Installing symfony/translation (v2.4.0) 
    Downloading: 100%   
    Downloading: 100%   
    Downloading: 100%   



    [Composer\Downloader\TransportException]                           
    The "https://api.github.com/repos/symfony/Translation/zipball/0919e0fc709217f8c9e5049f2603419fdd4a34ff" file could not be downloaded: Failed to 
    enable crypto                                  
    failed to open stream: operation failed    

моя проблема только с TLSv1, предыдущие версии SSL должны работать, поскольку браузеры работают правильно.

, как я должен делать, проблема существует и в других инструментах CMD, которые зависят от протокола HTTPS, как НПЙ, дача, мерзавец, локон, ...

+0

почему ' "packagist": false'? что это делает? – pythonian29033

ответ

3

Вы не можете отключить SSL с Composer. Даже если он работает так, как в вашей настройке, вы не можете контролировать исходные URL-адреса любого используемого вами пакета. Некоторые из них ничего не предлагают без SSL, поэтому вы ДОЛЖНЫ использовать SSL.

Я думаю, что это лучшая идея, чтобы заставить работать SSL. Вы попробовали composer diag и посмотрели, где проблема?

+1

'композитор diag' бросает ту же ошибку: ' [Composer \ Downloader \ TransportException] Файл «https://packagist.org/packages.json» не удалось загрузить: Не удалось включить криптографию не удалось открыть поток : operation failed' – pajooh

+0

«Сделать работу с SSL» - единственное решение, которое у меня есть для вас. Я не могу с этим поделать, потому что я не знаю, что сломано, но если другие инструменты также сломаны, тогда виноват какой-то базовый элемент, то есть общая библиотека или что-то в этом роде. – Sven

+0

проблема не в моей машине, у меня есть прокси-сервер или что-то в моем интернет-пути, которое предотвращает правильное согласование TLS, и обвинение в этом прокси не решит мою проблему, мне нужно рабочее решение! – pajooh

2

для того, чтобы отключить HTTPS суммарно (не Рекоммендуемый) вам нужно добавить «безопасной-клиент»: ложь в вашем composer.json файл ключ конфигурации, как это:

"name": "laravel/laravel", 
"description": "The Laravel Framework.", 
"keywords": ["framework", "laravel"], 
"license": "MIT", 
"require": { 
    "laravel/framework": "5.3.*", 
}, 
. 
. 
. 
"config": { 
    "preferred-install": "dist", 
    "bin-dir": "vendor/bin/", 
    "secure-http": false 
}, 
"minimum-stability": "dev" 
13

Вы можете отключить TLS (Для вашего конкретного проекта), используя свой composer.json как таковой:

{ 
    "require": { 
     "laravel/framework": "5.2.43" 
    }, 
    "config": { 
     "preferred-install": "dist", 
     "disable-tls": true, 
     "secure-http": false 
    }  
} 

NB: не берите из "Disable-ДУС": истинные в разделе конфигурации.

+0

все еще не работает после обновления выше конфигурации. Я получаю такую ​​же ошибку. –

+0

Используете ли вы прокси-сервер для доступа в Интернет? Возможно, вы захотите установить прокси-сервер в командной строке как таковой: установить HTTPS_PROXY = [IP: PORT] перед повторной попыткой вашего композитора. –

+0

Нет. Я не использую прокси-сервер –

1
composer config --global disable-tls true 
composer config --global secure-http false 
0

Это ок. Он будет работать. Вы просто несовпадение:

"options": { 
 
     "ssl": { 
 
      "verify_peer": false 
 
     } 
 
    }

Смежные вопросы