Попередження композитора: відсутнє розширення openssl. Як увімкнути WAMP


132

Спроба встановити інструмент управління залежністю від Composer на Win7 / 64 + WampServer 2.2 через інсталятор установки, і я отримую таке повідомлення:

Відсутнє розширення 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. Це не вдалося.

Що я пропускаю?

Порадьте, будь ласка.


Ого. Я просто зайшов до Google, щоб спробувати отримати більше інформації, і ця публікація з’явилася в результатах пошуку. Вже? Чорт, що було швидко. : -}
сплячий

Ви перезапустили веб-сервер?
перикліс

так, я перезапустив сервер.
сплячий

не впевнений , наскільки великий ви намагаєтеся отримати з допомогою SSL , але це може допомогти: phpjoel.com/2011/04/07 / ... . Якщо це не допоможе вам, ви завжди можете спробувати старий хороший метод перевстановлення усунення неполадок після резервного копіювання ваших БД та файлів.
Cameeob2003

Я просто оновив свою версію на WampServer до останньої. Те саме повідомлення. Я просто продовжував установку. Поки що помітних помилок немає. Дивно.
сплячий

Відповіді:


316

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


2
Ви врятували моє кохання, яке я відчуваю, щоби поласувати ... чому, до біса, вони не покинули інсталяцію, як це було у старій версії :)
Том,

1
heck laravel привів мене сюди
tomexsans

1
Я використовую uwamp, де я можу знайти файл ini.
Sujeet Kumar

Відповідь також працює для EasyPHP (клацніть правою кнопкою миші значок системи EasyPHP, виберіть Конфігурація | PHP, що відкриває php.ini в Блокноті, шукайте openssl,
відменюйте

що я повинен зробити для xampp? .. Я отримав помилку, як це повідомлення не могло бути надіслане. Помилка Mailer: Розширення відсутнє: openssl ,,,
шт

27

Окрім того, щоб не коментувати ;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, перш ніж встановлювати композитор методом choco. У майбутніх версіях Windows інструменти для управління пакетами, такі як Chocolatey, будуть викладені в Windows , так само apt-getі в Ubuntu. Захоплюючі часи для розробників!

За допомогою будь-якого способу після встановлення Composer не забудьте перезапустити свій термінал. Незалежно від того, чи використовуєте ви командний рядок, Bash (встановлюється за допомогою Git) або Powershell, вам потрібно буде перезапустити його, перш ніж оновлені змінні середовища.


4
Це правильна відповідь, якщо ви намагаєтесь встановити композитор у Windows 10і дотримувались цього керівництва
пограбовано

Абсолютно .. Це правда .. Я це знав, але забув про цей extрядок у Windows. Дякуємо за нагадування.
WM

16

У мене була така ж проблема, навіть якщо OpenSL було ввімкнено. Проблема полягала в тому, що інсталятор 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.


Шлях за замовчуванням, заданий під час встановлення, був неправильним, вказуючи на виправлення php.exe вирішив проблему, спасибі.
Сандеш Дамкондвар

12

невміння ;extension=php_openssl.dllв обох

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

це спрацює


Я використовую xampp .. тому я відредагував 2 файли з назвою, c / php / php.ini та c / apache / bin / php.ini .. у цьому видалено крапку з комою; розширення = php_openssl.dll .., але все ще залишається такою ж помилкою, як ця помилка Mailer: Розширення відсутнє: openssl ..
pcs

@saina Ви перезапустили сервер? Також запустіть phpinfo (), щоб перевірити, де знаходиться файл конфігурації.
Іванка Тодорова

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 Завантаження композитора сховища з інформацією про пакет Встановлення залежностей (у тому числі затребування)


Я знаю, що це поза темою, але як у вас встановлений композитор за допомогою EasyPhp.Я отримую лише помилки і потрібно перевстановити всі.
HenryW

2

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

видаліть крапку з комою на початку

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

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



1

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



1

Так, ви повинні відкрити php.ini та видалити крапку з комою для:

;extension=php_openssl.dll

видалити ";" як це і буде працювати.

extension=php_openssl.dll

Щасливе кодування.


0

Для встановлення 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

Усі ці відповіді хороші, але насправді, якщо ви хочете зрозуміти, каталог розширень повинен бути правильним, якщо ви хочете, щоб усі ваші коментовані розширення працювали. Може записати фізичний або відносний шлях на зразок

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

або

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

Це відносно веб-сервера httpd.exe Apache (C: \ myStack \ apache \ bin) Але якщо ви хочете, щоб він працював із Composer або будь-яким іншим необхідним вам фізичним шляхом, оскільки в режимі cli не використовується веб-сервер!


0

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

Вам також може знадобитися додати c:/phpдо PATHзмінної середовища

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.