Ostrzeżenie kompozytora: brak rozszerzenia openssl. Jak włączyć w WAMP

132

Próbuję zainstalować narzędzie do zarządzania zależnościami Composer na Win7 / 64 + WampServer 2.2 za pomocą Instalatora Instalatora i otrzymuję następujący komunikat:

Brak rozszerzenia openssl, co zmniejszy bezpieczeństwo i stabilność Composera. Jeśli to możliwe, powinieneś go włączyć lub ponownie skompilować php z --with-openssl

Więc oto co zrobiłem ...

  1. Z mojej ikony Wampa w zasobniku kliknięto php > php extensions > php_openssl
  2. To pokazało, że zadanie zostało zakończone poprzez umieszczenie znacznika wyboru obok rozszerzenia
  3. Następnie ponownie uruchomiłem WampServer
  4. Następnie z ikony Wampa w zasobniku kliknąłem php > php.inii wyszukałem openssl, aby sprawdzić, czy NIE został on zakomentowany). Nie było.
  5. Następnie wróciłem do Composer-Setup.exe i spróbowałem ponownie. To samo ostrzeżenie : „Brak rozszerzenia openssl”
  6. Ponieważ nigdy nie pracowałem z OpenSSL, nie jestem pewien, co powinno być ustawione, więc próbowałem przejść do jednej z moich lokalnych witryn za pomocą https. Nie powiodło się.

czego mi brakuje?

Proszę doradź.

podkład
źródło
Łał. Właśnie poszedłem do Google, aby uzyskać więcej informacji, a ten post pojawił się w wynikach wyszukiwania. Już? Cholera, to było szybkie. : -}
sypialne
Czy zrestartowałeś serwer WWW?
periklis
tak, zrestartowałem serwer.
sypialne
nie jestem pewien, jak bardzo chcesz uzyskać dostęp do SSL, ale może to pomóc: phpjoel.com/2011/04/07/… . Jeśli to ci nie pomoże, zawsze możesz wypróbować starą, dobrą metodę ponownego instalowania rozwiązywania problemów po utworzeniu kopii zapasowej bazy danych i plików.
Cameeob2003
Właśnie zaktualizowałem moją wersję na WampServer do najnowszej. Ta sama wiadomość. Po prostu kontynuowałem instalację. Na razie brak zauważalnych błędów. Dziwne.
sypialne

Odpowiedzi:

316

WAMP używa różnych plików php.ini w CLI i dla Apache. kiedy włączysz php_openssl przez interfejs użytkownika WAMP, włączysz go dla Apache, a nie dla CLI. Musisz zmodyfikować C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini, aby włączyć go dla CLI.

Valery I.
źródło
2
uratowałeś moją miłość, którą czuję dla laravel ... dlaczego do cholery nie opuścili instalacji tak, jak to było w starej wersji :)
Tom
1
heck laravel przywiózł mnie tutaj
tomexsans
1
Używam uwamp, gdzie mogę znaleźć plik ini.
Sujeet Kumar
Odpowiedź działa również dla EasyPHP (kliknij prawym przyciskiem myszy ikonę EasyPHP w zasobniku systemowym, wybierz Konfiguracja | PHP, która otwiera php.ini w Notatniku, wyszukaj openssl, odkomentuj linię)
stifin
co powinienem zrobić dla xampp? .. Otrzymałem błąd taki jak ta wiadomość nie mogła zostać wysłana. Błąd poczty: brak rozszerzenia: openssl ,,,
pcs
27

Oprócz odkomentowania ;extension=php_openssl.dllwiersza php.ini, o którym wspominali wszyscy inni, musisz również upewnić się, że ;extension_dir = "ext"wiersz jest również odkomentowany. Aby odkomentować, usuń przedrostek średnika i zapisz.

Ta linia może już być odkomentowana w pakietach takich jak WAMP i XAMPP, ale nie jest to zwykły plik PHP do pobrania dla systemu Windows, więc warto go zweryfikować. Ponadto musisz utworzyć php.iniplik, kopiując jeden z przykładów, np. php.ini-developmentDo nowego pliku, a następnie nadać mu nazwę php.ini. Następnie wprowadź tam te zmiany.

Również w przyszłości, aby zainstalować narzędzia takie jak PHP i Composer, polecam użycie menedżera pakietów Chocolatey. Wtedy jest to tak proste, jak choco install composer. Oczywiście nadal musisz edytować plik php.ini przed zainstalowaniem Composera metodą choco. W przyszłych wersjach systemu Windows narzędzia do zarządzania pakietami, takie jak Chocolatey, zostaną wstawione do systemu Windows , tak samo jak apt-getw Ubuntu. Nadchodzą ekscytujące czasy dla programistów!

W przypadku obu metod, po zainstalowaniu Composera, nie zapomnij o ponownym uruchomieniu terminala. Niezależnie od tego, czy używasz Command Prompt, Bash (instaluje się z Git), czy Powershell, musisz go ponownie uruchomić, zanim zaktualizowane zmienne środowiskowe zaczną działać.

Scott Pigeon
źródło
4
To jest poprawna odpowiedź, jeśli próbujesz zainstalować program
Composer
Oczywiście… To prawda… Wiedziałem o tym, ale zapomniałem o tej extlinii w systemie Windows. Dzięki za przypomnienie.
WM
16

Miałem ten sam problem, mimo że był włączony openssl. Problem polegał na tym, że instalator Composer przeglądał ten plik konfiguracyjny:

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

Ale załadowany plik konfiguracyjny jest w rzeczywistości tutaj:

C: \ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini

Musiałem więc tylko odkomentować go w pierwszym pliku php.ini i to załatwiło sprawę. W ten sposób WAMP został domyślnie zainstalowany na moim komputerze. Nie chciałem niczego zmieniać, więc prawdopodobnie przydarzy się to również innym. Jest to w zasadzie to samo, co powyższa odpowiedź Augiego Gardnera, ale chciałem tylko zaznaczyć, że możesz mieć dwa pliki php.ini.

regularmike
źródło
Domyślna ścieżka podana podczas instalacji była nieprawidłowa. Wskazanie poprawnego pliku php.exe rozwiązało problem. Dziękujemy.
Sandesh Damkondwar
12

odkomentować ;extension=php_openssl.dllw obu

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

to będzie działać

vuhung3990
źródło
Używam Xampp .. więc edytowałem 2 pliki o nazwach, c / php / php.ini i c / apache / bin / php.ini .. usunięto w tym średnik; rozszerzenie = php_openssl.dll .. ale nadal pozostaje ten sam błąd, jak ten błąd poczty: Brak rozszerzenia: openssl ..
pcs
@saina, czy zrestartowałeś serwer? Uruchom również phpinfo (), aby sprawdzić, gdzie znajduje się plik konfiguracyjny.
Ivanka Todorova
5

C: \ laravel-master> composer create-project laravel / laravel Installing laravel / laravel (v4.0.6) - Instalowanie laravel / laravel (v4.0.6) [RuntimeException] Musisz włączyć rozszerzenie openssl, aby pobierać pliki przez https

Używam EasyPhp (typ WAMP). Kliknij prawym przyciskiem myszy ikonę EasyPHP na pasku zadań i wybierz konfigurację, a następnie wybierz PHP. Otworzę PHP.inikonfigurację pliku w Notatniku, wyszukaj i znajdź CTRL+ F w notatniku dla słowa OPENSSL, które znajdziesz, ;extension=php_openssl.dllpo prostu usuń; i extension=php_openssl.dlljest aktywny.

C: \ laravel-master> composer create-project laravel / laravel Instalacja laravel / laravel (v4.0.6) - Instalowanie laravel / laravel (v4.0.6) Pobieranie: 100% Utworzono projekt w C: \ laravel-master \ laravel Ładowanie kompozytora repozytoria z informacjami o pakietach Instalowanie zależności (w tym require-dev)

voltronluis
źródło
Wiem, że to nie na temat, ale jak masz zainstalowanego kompozytora z EasyPhp, dostaję tylko błędy i muszę ponownie zainstalować wszystko.
HenryW,
2

musisz edytować plik "c: \ Program Files \ wamp \ bin \ php \ php5.3.13 \ php.ini", aby wyszukać:; extension = php_openssl.dll

usuń średnik na początku

uwaga: jeśli zapisanie pliku nie zadziała, musisz go edytować jako administrator. (na win7) przejdź do menu Start, wyszukaj notatnik, kliknij notatnik prawym przyciskiem myszy, kliknij „Uruchom jako administrator”

w oknach instalacji kompozytora po prostu kliknij wstecz, a potem dalej (lub zamknij i zacznij od nowa) i powinno działać

Zemba Albert
źródło
2

otwarty wamp / bin / apache / apache2.4.4 / bin / php config .. wamp / bin / php / php5.4.16 / php conf settings, php-ini produkcja, php-ini dev, phpForApache znajdź rozszerzenie = php_openssl.dll i odkomentuj usuwając ;

Njoroge Mathu
źródło
możliwe duplikowanie stackoverflow.com/questions/14062055/…
blackmind
1

Krótko i słodko, odkomentuj tę linię wamp/bin/php/php5.3.13(lub jakąkolwiek wersję php):
;extension=php_openssl.dll (usuń ;)
Teraz uruchom instalację Composera z wiersza poleceń. Nie będziesz miał błędu.
Dobrze iść!

Augie Gardner
źródło
1

Powinieneś utworzyć dowiązanie symboliczne do php.ini. Przepraszamy za rosyjski link .

Alex Pliutau
źródło
1

Tak, musisz otworzyć php.ini i usunąć średnik, aby:

;extension=php_openssl.dll

usunąć ";" w ten sposób i będzie działać.

extension=php_openssl.dll

Miłego kodowania.

Sujeet Kumar
źródło
0

Do instalacji Composera zadziałały poniższe kroki: (WAMP wersja 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
satch_boogie
źródło
0

Wszystkie te odpowiedzi są dobre, ale w rzeczywistości, jeśli chcesz zrozumieć, katalog rozszerzeń musi być poprawny, jeśli chcesz, aby wszystkie niekomentowane rozszerzenia działały. Może napisać ścieżkę fizyczną lub względną, taką jak

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

lub

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

Jest to względne w stosunku do serwera WWW httpd.exe Apache (C: \ myStack \ apache \ bin) Ale jeśli chcesz, aby działał z Composerem lub czymkolwiek, potrzebujesz ścieżki fizycznej, ponieważ tryb cli nie używa serwera WWW!

François Breton
źródło
0

Miałem ten sam problem. Zmieniłem nazwę folderu php z php7_winxxxxna po prostu php i wszystko działało dobrze. Wyglądało na to, że Composer sprawdza lokalizację modułu php_openssl wc:/php/ext .

Konieczne może być również dodanie c:/phpdo PATHzmiennej środowiskowej in

Tushortz
źródło