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ź.


Ł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.


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ć.


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.


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ć


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)


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ć



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ść!



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.


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

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!


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.