Расширение OpenSSL отсутствует в Windows при установке Composer

14033
user3660160

При установке Composer for PHP я получаю следующее сообщение:

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

Как решить эту проблему?

2
Вы можете исправить это, перекомпилировав php с опцией `--with-opensll`. Hennes 8 лет назад 0
Что касается того, что это такое. OpenSSL - это часть, реагирующая на TLS (вспомним httpS). Это обычно используется для безопасной связи. Первоначально это было нечто, называемое SSL, но эти cypers давно взломаны, и в наши дни мы используем TLS, но название библиотеки не изменилось. Hennes 8 лет назад 0
попробую тогда скажу вам результат! user3660160 8 лет назад 0
не работал для меня! user3660160 8 лет назад 0

3 ответа на вопрос

7
runamok

@RiggsFolly has the right idea.

Additionally I had to:

  1. Copy php.ini-development to php.ini
  2. Uncomment the extension=php_openssl.dll line as described
  3. Uncomment this line: extension_dir = "ext"
  4. Make sure you find php_openssl.dll within that extension directory of course
Я пропустил Шаг 1. Спасибо, что указали на что-то настолько очевидное и простое dmeehan 6 лет назад 1
0
RiggsFolly

Все, что вам нужно сделать, это активировать расширение openssl в вашем php.ini, удалив ;комментарий из строки

;extension=php_openssl.dll 

к

extension=php_openssl.dll 

Предупреждение: обычно есть два файла php.ini, один в apache\binпапке и один в \phpпапке, отредактируйте один в \php\php.iniпапке, так как именно он управляет PHP CLI.

ЖЕ ОШИБКА !! :( user3660160 8 лет назад 0
Вы уверены, что редактировали правильный файл `php.ini`? Есть обычно 2, вам нужно один в папке php, а не один в папке apache RiggsFolly 8 лет назад 0
0
Webinan

Если вы установили непосредственно из исполняемых файлов php.net для Windows, установка не имеет активного php.iniфайла! Вы можете подтвердить это с помощью php -iniкоманды в вашей консоли, она говорит, C:\Windowsчто на самом деле не имеет INI-файл.

Вы должны сначала переименовать одну из php.ini-developmentили php.ini-productionв, php.iniа затем раскомментировать расширение. (т.е. удаление точки с запятой перед тем extension=php_openssl.dllв этом файле.)