Як увімкнути розширення opensl PHP для встановлення Composer?


113

Я намагаюся встановити Laravel у налаштуваннях WAMP. Мені надходить попереджувальне повідомлення про невключення openssl, що я вже робив у WAMP.

Ось скріншот повідомлення.

введіть тут опис зображення


1
Перевірте шлях PHP до змінної середовища %PATH%, можливо композитор шукає PHP в іншому місці замість WampServer.
Рубенс Маріуццо

У мене була така ж проблема. Я редагував php.ini з піктограми wamp. Але я це зробив вручну, перезапустив сервер і він працює.
themhz

Відповіді:


121

Можливо, що WAMP і Composer використовують різні установки PHP. Композитор використовуватиме набір PHP у PATHзмінній оточення.

Якщо ви хочете ввімкнути розширення openssl для встановлення Composer , спершу вам потрібно перевірити місце установки PHP.

  1. Відкрийте командний рядок, введіть: echo %PATH%потім перевірте місце установки PHP.
  2. Перейти до цього місця і відредагувати файл з ім'ям: php.ini.
  3. Відкоментуйте рядок extension=php_openssl.dll, видаливши крапку з комою.

Тепер вам добре встановити Composer.


2
Буває, у мене немає розширення на моїй установці XAMPP. Я щойно додав (extension = php_openssl.dll) на php.ini, і він працює над завантаженням залежностей від laravel.
Адріан П.

8
коли я набираю, echo %PATH%я отримую: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Sysem32\WindowsPowerShell\v1.0\;C:\Program files\Microsoft\Web Platform Installer\;C:\Program Files\MySQL\MySQL Server 5.5\bin.. не існує жодного php, встановленого в жодному з цих каталогів .. що мені робити зараз?
абат

19
wamp використовує цей php.ini: c: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini, але композитор використовує PHP від ​​CLI, а значить, читає цей файл: c: \ wamp \ bin \ php \ php5.4.12 \ php.ini (тому вам потрібно ввімкнути openssl там)
Енріке

2
Я використовую xampp, композитор дає ту саму відкриту помилку, яка відсутня, навіть після видалення ';' розширення openssl у php.ini.
Шашикумар Місал

30
Я також мав розкоментувати рядок extension_dir = "ext"в php.ini, але я використовую простий PHP установки замість WAMP.
Девід Харкнесс

62

Я вирішив свою проблему по-іншому. Проблема полягає в тому, що графічний інтерфейс Wamp вводив в оману: він стверджував, що я php_opensslввімкнув .. і якщо я натиснув php.iniтой самий GUI .. він фактично показав, що це не extension=php_openssl.dllбуло коментовано ..

Я не впевнений, що я використовую ту саму інсталяційну версію композитора ОП, але він насправді просить вас на початку вказати, на php.exeщо ви хочете застосувати композитора (що в основному гарантує, що ніхто не намагається застосувати композитора до неправильний виконуваний php, як це сталося з ОП) ..

Я вирішив це, ввійшовши в установку php в пакеті wamp: C:\wamp\bin\php\php5.4.12і, дивлячись php.inтам .., коли я відкрив це, я був шокований, що рядок extension=php_openssl.dllнасправді коментується! Я це прокоментував, і це спрацювало чудово.

введіть тут опис зображення


Дякуючи, що подивився на цю відповідь, я зрозумів, що Wamp використовує 5.5.12, але я вибрав 5.4 каталог для php.exe
Афнан Башир

На якому шляху роблять файли libeay32.dllчи liblibcrypto-*.dllперебувають? php.net/manual/de/openssl.installation.php
Бернхард Дьоблер

53

У мене була така ж проблема, і ось тут я знайшов рішення, на вашому php.ini потрібно внести деякі зміни:

  1. extension_dir = "ext"
  2. extension = php_openssl.dll

Кожен тут активно розмовляє з розширенням openssl, але і в Windows потрібно активувати dir розширення.


3
Чоловіки, ви єдиний, хто згадав extension_dir, ви чудові!
giannis christofakis

Це працювало для мене. Я завантажив PHP безпосередньо, як у цій турніторії .
пограбовано

26

Для сервера WAMP коментар, наданий "Енріке", вирішив мою проблему.

wamp використовує цей php.ini :

c:\wamp\bin\apache\Apache2.4.4\bin\php.ini

Але композитор використовує PHP від ​​CLI, а значить, читає цей файл:

c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)

Для композитора вам потрібно буде включити розширення в

c:\wamp\bin\php\php5.4.12\php.ini

Змінити:

;extension=php_openssl.dll 

до

extension=php_openssl.dll

Для MAMP мені довелося скопіювати файл php.ini з C: \ MAMP \ conf \ phpx.xx в C: \ MAMP \ bin \ php \ phpx.xx (\ conf \ .... в \ bin \ .. .)
Майк

15

Якщо ви робите це в Windows без одного із стеків WAMP, ось як це зробити

  1. Завантажте інсталяцію PHP для Windows . Як правило, ви хочете встановити безпечну установку без потоку. Можна використовувати 32-бітні або 64-бітні збірки
  2. Десь витягніть zip-файл. Я б запропонував C:\php. Інсталятор композитора знайшов його там без будь-яких додаткових спонукань
  3. Останні версії PHP для Windows за замовчуванням не поставляються зphp.ini . Натомість ви побачите два файли, як зазначено нижче. Перейменуйте його php.iniабо скопіюйте в нього php.ini.
    • php.ini-розвиток
    • php.ini-виробництво
  4. Відкрийте свій php.iniфайл і видаліть крапку з крапки з цього рядка (можливо, ви захочете також відменювати інші речі, але цей рядок є єдиним необхідним для композитора)

    ;extension=php_openssl.dll

Це має бути все, що вам потрібно зробити. Інсталятор Composer повинен зробити тут все, що вам потрібно.


2
Це ТІЛЬКО місце в Інтернеті з правильним налаштуванням рішення (для не-WAMP). Дякую!
adamdehaven

11

Вам потрібно включити "extension = php_openssl.dll" в обох файлах (php та apache). мій шлях до ПК файли такі:

  1. C: \ wamp \ bin \ php \ php5.3.13 \ php.ini
  2. C: \ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini

8

Це давнє запитання, але у мене просто було те саме питання (з PHP7), і врешті-решт, це було досить просто. Не коментуючи рядок у php.iniвідповідності до інших відповідей, було недостатньо. Мені потрібно було змінити це на:

;extension=php_openssl.dll

до:

extension=ext/php_openssl.dll

Зверніть увагу на extпрефікс. DLL вже існував, але знаходився в підпапці. Після зміни конфігурації інсталятор композитора був задоволений.


7

вам потрібно включити розширення openssl в

C:\wamp\bin\php\php5.4.12\php.ini 

тобто файл конфігурації php, який має його тип, має "налаштування конфігурації" з піктограмою блокнота драйвера, як іконка.

  1. відкрийте його в блокноті чи будь-якому редакторі,
  2. пошук openssl "ваш ctrl + F" зробив би.
  3. перед розширенням openssl є напівкрапка

    ;extension=php_openssl.dll

    вийміть напівколонку і у вас буде

    extension=php_openssl.dll
  4. збережіть файл і перезапустіть свій WAMP-сервер, після чого ви будете готові перейти. знову встановіть додаток, який повинен працювати.

6

Є два php.iniфайли, один для розробки та один для виробництва. Залиште їх, є ще один php.iniфайл для налаштувань конфігурації, що знаходиться над ними, із передачею, як іконка редагувати це.


Крім того, у мене не було дефолту. Просто скопіюйте / вставте prod / dev один і перейменуйте його php.ini, а потім внесіть зміни, запропоновані тут.
Брін Бейтман

3

Після редагування «правильних» файлів (усіх php.ini). у мене було ще питання. Моє рішення було:

  1. Додавання системної змінної: OPENSSL_CONF

    значення OPENSSL_CONF має бути файлом openssl.cnf вашої поточної версії php.

для мене це було:

  • C: \ wamp \ bin \ php \ php5.6.12 \ extras \ ssl \ openssl.cnf

-> Перезапустити WAMP -> має працювати зараз

Джерело: http://php.net/manual/en/openssl.installation.php


2

Я зіткнувся з тією ж проблемою, але коли я шукав php.ini та php.exe, я знайшов php.exe на C: \ UwAmp \ bin \ php \ php-5.4.15, коли php.ini в C: \ UwAmp \ bin \ апаш. Я просто копіюю php.ini на C: \ UwAmp \ bin \ php \ php-5.4.15 і відкоментую розширення рядка = php_openssl.dll і це виправлено.


2

Я використовую WAMP-сервер. Насправді його файли показали, що openssl відкрито. Але вручну я зайшов до папки і відредагував php.ini. Потім я виявив, що він не відкрився openssl.Я прокоментував це, і він працював після перезавантаження WAMP.


2

C: \ wamp \ bin \ php \ php5.3.13

Перейдіть до рядка, який читає:

;extension=php_openssl.dll

і видаліть крапку з комою, що передує рядку. Перезапустіть сервери WAMP (натисніть на панелі значків> "Перезапустити всі сервіси"


1

Якщо ви все ще не можете вирішити свою проблему, погляньте на це. Це може бути рішення, яке ви шукаєте

У папці С: \ wamp \ bin \ php \ php xyz є кілька файлів php.ini. Ви можете знайти виробництво, розробку та деякі інші файли php.ini. Немає сенсу редагувати файли виробництва та розробки. Знайдіть файл, який точно такий же, як на зображенні нижче. (Ви можете знайти його. Просто введіть php.ini на панелі пошуку та зробіть пошук). Відкрийте файл і видаліть; від розширення = php_openssl.dll. Збережіть файл і закрийте його. Перезавантажте всі сервери на сервері Wampp. Повторно встановіть композитора.

Це все.

введіть тут опис зображення


1

Wamp працює з іншим php.ini, що знаходиться в C: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini. Тому вам потрібно вручну знайти правильний файл, який знаходиться в C: \ wamp \ bin \ php \ php5.4.12 \ php.ini. Відкоментуйте рядок розширення = php_openssl.dll і просто спробуйте встановити Composer ще раз.


1

Для тих, хто має таку ж проблему, як і я. Виконавши всі рішення, описані вище, мені все ще не вийшло. Я дізнався, що uWamp створював файл PHP.INI в каталозі bin / apache. Тому мені довелося скопіювати файл PHP.INI в каталог установки php, тобто в каталог bin / php / phpXXXX. Це також має бути місце, де вибрано php.exe, який ви вибрали з налаштування композитора.

Сподіваюся, це допомагає.


1

Якщо ви компілювали з джерела, то додавання extension=php_openssl.dllдо файлу php.ini може не працювати .

Щоб вирішити цю проблему, відкрийте командний рядок і введіть php -i. Прокрутіть до першого рядка, він повідомить вам про останню помилку щодо вашого файлу php.ini.

Щоб вирішити проблему, знайдіть php_openssl.dllфайл, для мене він знаходився в тій самій директорії виводу компіляції: C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS Тому просто додайте каталог, де є розширення, до php.ini:

extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"

Сподіваємось, помилки не буде


0

Якщо ви використовуєте xampp. php_openssl.dll 'коментуйте один файл ssl у вашому php ini з'; ', і ваша установка повинна працювати безперебійно.

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