Odpowiedzi:
Możliwe, że WAMP i Composer używają różnych instalacji PHP. Composer użyje PHP ustawionego w PATH
zmiennej środowiskowej.
Jeśli chcesz włączyć rozszerzenie openssl do instalacji Composera , najpierw musisz sprawdzić lokalizację instalacji PHP.
echo %PATH%
a następnie sprawdź lokalizację instalacji PHP.php.ini
.extension=php_openssl.dll
, usuwając średnik na początku.Teraz możesz zainstalować Composer.
echo %PATH%
piszę, otrzymuję: 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
.. nie ma żadnego php zainstalowanego w żadnym z tych katalogów .. co mam teraz zrobić?
extension_dir = "ext"
w php.ini
, ale używam zwykły instalację PHP zamiast WAMP.
Problem rozwiązałem w inny sposób. Problem polega na tym, że GUI wampa wprowadzało w błąd: twierdził, że php_openssl
włączyłem ... i jeśli kliknąłem php.ini
na tym samym GUI ... faktycznie pokazało, że nie extension=php_openssl.dll
ma komentarzy ...
Nie jestem pewien, czy używam tej samej wersji instalatora kompozytora OP, ale tak naprawdę na początku prosi Cię o określenie, do php.exe
którego chcesz zastosować kompozytor (co w zasadzie zapewnia, że nikt nie próbuje zastosować kompozytora do niewłaściwy plik wykonywalny php, jak to się stało z OP).
Sposób, w jaki to rozwiązałem, polegał na tym, że sam przeszedłem do instalacji php w pakiecie wamp: C:\wamp\bin\php\php5.4.12
i spojrzałem php.in
tam ... kiedy go otworzyłem, byłem zszokowany, że wiersz extension=php_openssl.dll
został faktycznie skomentowany! Odkomentowałem to i działało dobrze.
libeay32.dll
lub pliki liblibcrypto-*.dll
? php.net/manual/de/openssl.installation.php
Miałem ten sam problem i tutaj rozwiązanie, które znalazłem, na twoim php.ini musisz zrobić kilka zmian:
extension_dir = "ext"
extension = php_openssl.dll
Każdy tutaj mówi o aktywnym rozszerzeniu openssl, ale w oknach musisz też aktywować dir rozszerzenia.
extension_dir
, jesteście wspaniali!
W przypadku serwera WAMP, komentarz "Enrique" rozwiązał mój problem.
wamp używa tego php.ini :
c:\wamp\bin\apache\Apache2.4.4\bin\php.ini
Ale kompozytor używa PHP z CLI i dlatego czyta ten plik:
c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)
W przypadku kompozytora będziesz musiał włączyć rozszerzenie w
c:\wamp\bin\php\php5.4.12\php.ini
Zmiana:
;extension=php_openssl.dll
do
extension=php_openssl.dll
Jeśli robisz to w systemie Windows bez jednego ze stosów WAMP, oto jak to zrobić
C:\php
. Instalator Composera znalazł go tam bez dodatkowego monituphp.ini
domyślnie dostarczane z rozszerzeniem . Zamiast tego zobaczysz dwa pliki, jak wspomniano poniżej. Zmień nazwę na php.ini
lub skopiuj ją do php.ini
.
Otwórz php.ini
plik i usuń średnik z tej linii (możesz również odkomentować inne rzeczy, ale ta linia jest jedyną potrzebną dla Composera)
;extension=php_openssl.dll
To wszystko, co musisz zrobić. Instalator Composera powinien teraz zrobić wszystko, czego potrzebujesz.
Musisz włączyć "rozszerzenie = php_openssl.dll" w obu plikach (php i apache). ścieżki moich plików na komputerze to:
To jest stare pytanie, ale miałem ten sam problem (z PHP7) i ostatecznie rozwiązanie było całkiem proste. Jednak odkomentowanie wiersza php.ini
zgodnie z innymi odpowiedziami nie wystarczyło. Musiałem to zmienić z:
;extension=php_openssl.dll
do:
extension=ext/php_openssl.dll
Zwróć uwagę na ext
przedrostek. Biblioteka dll już istniała, ale znajdowała się w podfolderze. Po zmianie konfiguracji instalator kompozytora był zadowolony.
musisz włączyć rozszerzenie openssl w
C:\wamp\bin\php\php5.4.12\php.ini
czyli plik konfiguracyjny php, który ma swój typ, ma "ustawienia konfiguracji" z ikoną przypominającą sterownik notatnika.
przed rozszerzeniem openssl znajduje się średnik
;extension=php_openssl.dll
usuń średnik i będziesz mieć
extension=php_openssl.dll
Istnieją dwa php.ini
pliki, jeden do programowania i jeden do produkcji. Zostaw je, jest inny php.ini
plik ustawień konfiguracji tuż nad nimi z zębatką taką jak ikona edytuj to.
php.ini
, a następnie wprowadź zmiany, które sugerowali tutaj inni.
Po edycji „właściwych” plików (wszystkie php.ini). nadal miałem problem. Moje rozwiązanie brzmiało:
Dodawanie zmiennej systemowej: OPENSSL_CONF
wartością OPENSSL_CONF powinien być plik openssl.cnf Twojej aktualnej wersji php.
dla mnie to było:
-> Uruchom ponownie WAMP -> powinno teraz działać
Napotkałem ten sam problem, ale kiedy szukałem php.ini i php.exe, znalazłem php.exe w C: \ UwAmp \ bin \ php \ php-5.4.15, gdy php.ini w C: \ UwAmp \ bin \ apache. Po prostu skopiowałem php.ini w C: \ UwAmp \ bin \ php \ php-5.4.15 i odkomentowałem rozszerzenie linii = php_openssl.dll i naprawiłem.
Jeśli nadal nie możesz rozwiązać swojego problemu, spójrz na to. To może być rozwiązanie, którego szukasz
W folderze C: \ wamp \ bin \ php \ php xyz znajduje się kilka plików php.ini. Możesz znaleźć pliki produkcyjne, programistyczne i inne pliki php.ini. Nie ma sensu edytować plików produkcyjnych i programistycznych. Znajdź plik, który jest dokładnie taki sam jak na poniższym obrazku. (Możesz go znaleźć. Po prostu wpisz php.ini w pasku wyszukiwania i przeprowadź wyszukiwanie). Otwórz plik i usuń; z rozszerzenia = php_openssl.dll. Zapisz plik i zamknij go. Zrestartuj wszystkie usługi na serwerze Wampp. Zainstaluj ponownie swojego kompozytora.
To jest to.
Wamp współpracuje z innym php.ini znajdującym się w C: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini. Musisz więc ręcznie znaleźć właściwy plik, czyli w C: \ wamp \ bin \ php \ php5.4.12 \ php.ini. Odkomentuj linię extension = php_openssl.dll i po prostu spróbuj ponownie zainstalować Composer.
Dla tych, którzy mają ten sam problem co ja. Po wykonaniu wszystkich powyższych rozwiązań nadal nie działa dla mnie. Dowiedziałem się, że uWamp tworzy plik PHP.INI w katalogu bin / apache. Musiałem więc skopiować plik PHP.INI do katalogu instalacyjnego php, czyli do katalogu bin / php / phpXXXX. Powinno to być również miejsce, w którym znajduje się plik php.exe wybrany w konfiguracji kompozytora.
Mam nadzieję że to pomoże.
Jeśli skompilowałeś ze źródła, dodawanie extension=php_openssl.dll
do pliku php.ini może nie działać .
Aby rozwiązać ten problem, otwórz wiersz polecenia i wpisz php -i
. Przewiń w górę do pierwszej linii, pokaże ci ostatni błąd dotyczący twojego pliku php.ini.
Aby rozwiązać problem, znajdź php_openssl.dll
plik, dla mnie znajdował się on w tym samym katalogu co dane wyjściowe kompilacji:
C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS
Więc po prostu dodaj katalog, w którym jest rozszerzenie, do php.ini
:
extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"
Miejmy nadzieję, że błąd zniknie
Jeśli używasz xampp, wróć do miejsca, w którym wybierasz php wiersza poleceń, którego chcesz użyć na początku instalacji, i wybierz ścieżkę, w której znajduje się folder xampp. Następnie, jeśli instalator mówi, że masz zduplikowane rozszerzenie '= php_openssl.dll 'skomentuje jeden plik ssl w php ini z'; ', a instalacja powinna przebiegać sprawnie.
%PATH%
, być może Composer szuka PHP w innej lokalizacji zamiast WampServer.