it-swarm.com.ru

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

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

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

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

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

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

Пожалуйста, порекомендуйте.

130
sleeper

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

316
Valery I.

В дополнение к раскомментированию строки ;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, вам необходимо перезапустить его, прежде чем обновленные переменные среды будут работать.

26
Scott Pigeon

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

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

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

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

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

16
regularmike

раскомментируйте ;extension=php_openssl.dll в обоих

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

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

12
vuhung3990

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

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

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

5
voltronluis

открытый 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 и раскомментировать, удалив ;

2
Njoroge Mathu

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

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

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

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

2
Zemba Albert

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

2
Alex Pliutau

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

;extension=php_openssl.dll

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

extension=php_openssl.dll

Удачного кодирования.

1
Sujeet Kumar

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

1
Augie Gardner

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

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

или же

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

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

0
François Breton

Для установки 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
0
satch_boogie

Я столкнулся с той же проблемой. Я переименовал свою папку php из php7_winxxxx в просто php, и она работала нормально. Похоже, composer проверял местоположение модуля php_openssl в c:/php/ext.

Вам также может понадобиться добавить c:/php к переменной PATH в среде

0
Tushortz