Composer Warning: расширение openssl отсутствует. Как включить в WAMP

Попытка установить Composer инструмент управления зависимостями на Win7/64 + WampServer 2.2 с помощью Установщик установки, и я получаю следующее сообщение:

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

Итак, вот что я сделал...

  • Из значка Wamp в лотке нажмите php > php extensions > php_openssl
  • Это показало, что задача была завершена установкой галочки рядом с расширением
  • Затем я перезапустил WampServer
  • Затем из значка Wamp в лотке я нажал php > php.ini и искал openssl, чтобы проверить, что он НЕ был прокомментирован). Это не так.
  • Затем я вернулся к Composer-Setup.exe и снова попробовал. Сообщение о том же предупреждении: "расширение openssl отсутствует"
  • работал с OpenSSL, я не уверен, что должен быть установлен, поэтому я попытался перейти на один из моих локальных сайтов, используя https. Не удалось.

Что мне не хватает?

Просьба сообщить.

Ответ 1

WAMP использует разные файлы php.ini в CLI и для Apache. когда вы включаете php_openssl через WAMP UI, вы включаете его для Apache, а не для CLI. Вам нужно изменить C:\wamp\bin\php\php-5.4.3\php.ini, чтобы включить его для CLI.

Ответ 2

В дополнение к раскомментированию строки ;extension=php_openssl.dll в php.ini, о которой упоминали все остальные, вам также необходимо убедиться, что строка ;extension_dir = "ext" также раскоментирована. Чтобы раскомментировать, удалите запятую с запятой и сохраните.

Эта строка уже может быть раскомментирована в пакетах, таких как WAMP и XAMPP, но это не простая загрузка PHP для Windows, поэтому стоит проверить. Кроме того, вам нужно создать файл php.ini, скопировав один из примеров, например php.ini-development в новый файл, а затем назовите его php.ini. Затем внесите эти изменения.

Кроме того, в будущем для установки таких инструментов, как PHP и Composer, я рекомендую использовать диспетчер пакетов Chocolatey. Тогда это так же просто, как choco install composer. Конечно, вам нужно будет отредактировать php.ini перед установкой Composer с помощью метода choco. В будущих версиях Windows инструменты управления пакетами, такие как Chocolatey, будут испечены в Windows, так же, как и apt-get в Ubuntu. Увлекательные моменты для разработчиков!

С помощью любого метода, после установки Composer, не забудьте перезагрузить терминал. Независимо от того, используете ли вы Командная строка, Bash (устанавливается с помощью Git) или Powershell, вам необходимо перезапустить его до того, как будут работать обновленные переменные среды.

Ответ 3

У меня была такая же проблема, хотя opensl был включен. Проблема заключалась в том, что установщик Composer просматривал этот файл конфигурации:

C:\WAMP\Bin\PHP\php5.4.3\php.ini

Но загруженный файл конфигурации находится здесь:

C:\WAMP\Bin\Apache\apache2.2.22\Bin\php.ini

Поэтому мне просто пришлось раскомментировать его в первом файле php.ini и это сделало трюк. Так WAMP был установлен на моем компьютере по умолчанию. Я ничего не менял, так что это, вероятно, случится и с другими. Это в основном то же самое, что и ответ Augie Gardner, но я просто хотел указать, что у вас могут быть два файла php.ini.

Ответ 4

uncomment ;extension=php_openssl.dll в обоих

wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini

он будет работать

Ответ 5

C:\laravel-master > композитор создать-проект laravel/laravel Установка laravel/laravel (v4.0.6)   - Установка laravel/laravel (v4.0.6)   [RuntimeException]   Вы должны включить расширение openssl для загрузки файлов через https

Я использую EasyPhp (тип WAMP). В значке EasyPHP на панели задач щелкните правой кнопкой мыши и выберите конфигурацию, затем выберите PHP. Я открою конфигурацию файла PHP.ini в Блокноте, поиске-поиске или CTRL + F в блокноте для слова OPENSSL, вы найдете это ;extension=php_openssl.dll, просто удалите; и активен extension=php_openssl.dll.

C:\laravel-master > композитор создать-проект laravel/laravel Установка laravel/laravel (v4.0.6)   - Установка laravel/laravel (v4.0.6)     Скачивание: 100% Создан проект в C:\laravel-master\laravel Загрузка репозиториев композитора с информацией о пакете Установка зависимостей (включая require-dev)

Ответ 6

Вы должны сделать символическую ссылку на php.ini. Извините за русская ссылка.

Ответ 7

вам нужно отредактировать файл c:\Program Files\wamp\bin\php\php5.3.13\php.ini искать: ; Расширение = php_openssl.dll

удалите точку с запятой в начале

Примечание: если сохранение файла не работает, вам необходимо отредактировать его как администратора. (на win7) зайдите в меню "Пуск", найдите блокнот, щелкните правой кнопкой мыши на блокноте, нажмите "Запуск от имени администратора"

в окнах установки композитора просто щелкните назад, затем (или закройте его и запустите снова), и он должен работать

Ответ 8

открыт wamp/bin/apache/apache2.4.4/bin/php config..      wamp/bin/php/php5.4.16/php conf, php-ini, php-ini dev, phpForApache найти extension = php_openssl.dll и раскомментировать, удалив ;

Ответ 9

Короткий и сладкий, раскомментируйте эту строку в wamp/bin/php/php5.3.13 (или любой другой версии php):
;extension=php_openssl.dll (удалите ;)
Теперь запустите установку Composer в командной строке. У вас не будет ошибки.
Хорошо идти!

Ответ 10

Да, вам нужно открыть php.ini и удалить точку с запятой:

;extension=php_openssl.dll

удалите ";" как это, и он будет работать.

extension=php_openssl.dll

Счастливое кодирование.

Ответ 11

Для установки Composer ниже шагов мне удалось: (версия WAMP 2.4 x64bit)

edit ->
**C:\wamp\bin\php\php5.4.12\php.ini**
;;uncomment below line or remove the semicolons ';'
extension=php_openssl.dll

**C:\wamp\bin\apache\Apache2.4.4\bin\php.ini**

extension=php_openssl.dll

Ответ 12

Все эти ответы хороши, но на самом деле, если вы хотите понять, каталог расширений должен быть прав, если вы хотите, чтобы все ваши раскоментированные расширения работали. Может написать физический или относительный путь, например

extension_dir = "C:/myStack/php/ext"

или

extension_dir = "../../php/ext"

Это относительно веб-сервера httpd.exe Apache (C:\myStack\apache\bin) Но если вы хотите, чтобы он работал с Composer или что-либо, что вам нужно физический путь, потому что режим cli не использует веб-сервер!