Установка Composer для Windows – невозможно найти оболочку «https»

Я пытаюсь установить Composer для Windows с помощью командной строки со следующим вызовом:

php -r "readfile ( https://getcomposer.org/installer );" | PHP

Однако я получаю сообщение об ошибке:

Предупреждение: readfile (): Не удалось найти оболочку «https» – вы забыли включить ее при настройке PHP? в строке командной строки в строке 1

Call Stack: 0.0010 224336 1. {main} () Код командной строки: 0 0.0010 224488 2. readfile () код командной строки: 1

Предупреждение: файл readfile ( https://getcomposer.org/installer ): не удалось открыть поток: недопустимый аргумент в строке командной строки в строке 1

Call Stack: 0.0010 224336 1. {main} () Код командной строки: 0 0.0010 224488 2. readfile () Код командной строки: 1

Я уже раскомментировал строку «; extension = php_openssl.dll» в каталоге php5.5.12, перезапустил браузер и попробовал другие варианты. Когда я запускаю команду только с «s» в https, я получаю:

Некоторые настройки на вашем компьютере не позволяют работать с Composer. Убедитесь, что вы устранили перечисленные ниже проблемы и снова запустите этот скрипт:

Расширение openssl отсутствует, что означает, что безопасные передачи HTTPS невозможны. Если возможно, вы должны включить его или перекомпилировать php с помощью –with-openssl

Я попытался включить этот флаг –with-openssl в разных местах, но, похоже, он не делает трюк.

Ну, так как решение по какой-то причине не работает для вас, вы можете заметить, что вся эта команда выполняет загрузку файла и печать его в другой php процесс. Это довольно простая проблема, которая может быть решена с помощью небольших адаптаций.

Например, вы можете удалить https и использовать http :

 php -r "readfile(http://getcomposer.org/installer);" | php -- --disable-tls 

Или пусть другой инструмент извлечет этот файл, например:

 wget -s -O - "https://getcomposer.org/installer" | php -- --disable-tls 

Или даже:

 curl -sSk "https://getcomposer.org/installer" | php -- --disable-tls 

Параметр --disable-tls относится к сценарию installer , он будет указывать ему использовать http вместо https в загрузках, которые он будет выполнять во время установки.

Он работает, используя ответ Хэвендара. Просто добавьте '..', чтобы заключить URL-адрес

 php -r "readfile('http://getcomposer.org/installer');" | php -- --disable-tls 

Это похоже на то, что ваша установка не включена.

Найдите файл php.ini (в Windows это, вероятно, находится на том же месте, что и php.exe ( c:\php на моей машине).

Откройте его в своем любимом редакторе и найдите линию

 ;extension=php_openssl.dll 

удалите полуколону

 extension=php_openssl.dll 

HTTPS теперь должен работать для вас из php.