Composer Warnung: Die openssl-Erweiterung fehlt. So aktivieren Sie in WAMP

132

Beim Versuch, das Composer- Abhängigkeitsverwaltungstool unter Win7 / 64 + WampServer 2.2 über das Setup-Installationsprogramm zu installieren , wird die folgende Meldung angezeigt :

Die openssl-Erweiterung fehlt, wodurch die Sicherheit und Stabilität von Composer beeinträchtigt wird. Wenn möglich, sollten Sie es aktivieren oder PHP mit --with-openssl neu kompilieren

Also hier ist was ich getan habe ...

  1. Klicken Sie in meinem Wamp-Symbol in der Taskleiste auf php > php extensions > php_openssl
  2. Dies zeigte, dass die Aufgabe abgeschlossen wurde, indem ein Häkchen neben der Erweiterung gesetzt wurde
  3. Ich habe dann WampServer neu gestartet
  4. Dann habe ich über das Wamp-Symbol in der Taskleiste php > php.iniauf openssl geklickt und gesucht, um zu überprüfen, ob es NICHT kommentiert wurde. Es war nicht.
  5. Ich ging dann zurück zu Composer-Setup.exe und versuchte es erneut. Gleiche Warnmeldung : "openssl-Erweiterung fehlt"
  6. Da ich noch nie mit OpenSSL gearbeitet habe, bin ich mir nicht sicher, was eingestellt werden soll. Deshalb habe ich versucht, mit https zu einer meiner lokalen Websites zu navigieren. Es ging schief.

Was vermisse ich?

Bitte beraten.

Schläfer
quelle
Beeindruckend. Ich bin gerade zu Google gegangen, um mehr Informationen zu erhalten, und dieser Beitrag wurde in den Suchergebnissen angezeigt. Bereits? Verdammt, das war schnell. : -}
Schläfer
Haben Sie den Webserver neu gestartet?
Periklis
Ja, ich habe den Server neu gestartet.
Schläfer
Ich bin mir nicht sicher, wie umfangreich Sie versuchen, mit ssl zu arbeiten, aber dies kann hilfreich sein: phpjoel.com/2011/04/07/… . Wenn Ihnen das nicht hilft, können Sie immer die gute alte Methode zur Fehlerbehebung bei der Neuinstallation ausprobieren, nachdem Sie Ihre Datenbank und Dateien gesichert haben.
Cameeob2003
Ich habe gerade meine Version auf WampServer auf die neueste Version aktualisiert. Gleiche Nachricht. Ich habe einfach mit der Installation weitergemacht. Bisher keine erkennbaren Fehler. Seltsam.
Schläfer

Antworten:

316

WAMP verwendet verschiedene php.ini-Dateien in der CLI und für Apache. Wenn Sie php_openssl über die WAMP-Benutzeroberfläche aktivieren, aktivieren Sie es für Apache und nicht für die CLI. Sie müssen C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini ändern, um es für die CLI zu aktivieren.

Valery I.
quelle
2
Du hast meine Liebe gerettet, die ich für Laravel empfinde ... warum zum Teufel haben sie die Installation nicht verlassen, wie es in der alten Version war :)
Tom
1
heck laravel hat mich hierher gebracht
tomexsans
1
Ich benutze uwamp, wo ich die INI-Datei finden kann.
Sujeet Kumar
Die Antwort funktioniert auch für EasyPHP (klicken Sie mit der rechten Maustaste auf das EasyPHP-Symbol in der Taskleiste, wählen Sie Konfiguration | PHP, wodurch die php.ini im Editor geöffnet wird, suchen Sie nach openssl, kommentieren Sie die Zeile aus)
stifin
Was soll ich für xampp tun? .. Ich habe den Fehler erhalten, dass diese Nachricht nicht gesendet werden konnte. Mailer Fehler: Erweiterung fehlt: openssl ,,,
pcs
27

Zusätzlich zum Kommentieren der ;extension=php_openssl.dllZeile php.ini, die von allen anderen erwähnt wurde, müssen Sie auch sicherstellen, dass die ;extension_dir = "ext"Zeile auch nicht kommentiert ist. Entfernen Sie zum Kommentieren das vorangestellte Semikolon und speichern Sie es.

Diese Zeile ist in Paketen wie WAMP und XAMPP möglicherweise bereits unkommentiert, befindet sich jedoch nicht in einem einfachen PHP-Download für Windows. Es lohnt sich daher, dies zu überprüfen. Außerdem müssen Sie die php.iniDatei erstellen , indem Sie eines der Beispiele wie php.ini-developmentin eine neue Datei kopieren und dann benennen php.ini. Nehmen Sie diese Änderungen dann dort vor.

Um in Zukunft Tools wie PHP und Composer zu installieren, empfehle ich außerdem die Verwendung des Chocolatey-Paketmanagers. Dann ist es so einfach wie choco install composer. Natürlich müssen Sie die php.ini noch bearbeiten, bevor Sie Composer mit der choco-Methode installieren. In zukünftigen Windows-Versionen werden Paketverwaltungstools wie Chocolatey in Windows integriert , genauso wie apt-getin Ubuntu. Spannende Zeiten für Entwickler!

Vergessen Sie bei beiden Methoden nach der Installation von Composer nicht, das Terminal neu zu starten. Unabhängig davon, ob Sie die Eingabeaufforderung, Bash (Installation mit Git) oder Powershell verwenden, müssen Sie sie neu starten, bevor die aktualisierten Umgebungsvariablen funktionieren.

Scott Pigeon
quelle
4
Dies ist die richtige Antwort, wenn Sie versuchen, Composer unter Windows 10 zu installieren, und diese Anleitung
am
Absolut .. Das ist wahr .. Ich wusste das, habe aber diese extZeile unter Windows vergessen . Danke, für die Erinnerung.
WM
16

Ich hatte das gleiche Problem, obwohl openssl aktiviert war. Das Problem war, dass das Composer-Installationsprogramm diese Konfigurationsdatei betrachtete:

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

Aber die Konfigurationsdatei, die geladen wird, ist tatsächlich hier:

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

Also musste ich es einfach in der ersten php.ini-Datei auskommentieren und das hat den Trick gemacht. So wurde WAMP standardmäßig auf meinem Computer installiert. Ich habe nichts geändert, also wird dies wahrscheinlich auch anderen passieren. Dies ist im Grunde das gleiche wie die Antwort von Augie Gardner oben, aber ich wollte nur darauf hinweisen, dass Sie möglicherweise zwei php.ini-Dateien haben.

normalmike
quelle
Der bei der Installation angegebene Standardpfad war falsch. Das Zeigen auf die korrekte php.exe löste das Problem. Danke.
Sandesh Damkondwar
12

Kommentar ;extension=php_openssl.dllin beiden

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

es wird klappen

vuhung3990
quelle
Ich benutze xampp .. also habe ich 2 Dateien mit den Namen c / php / php.ini und c / apache / bin / php.ini bearbeitet .. Semikolon in diesem entfernt; extension = php_openssl.dll .. aber immer noch der gleiche Fehler wie diese Mailer Fehler: Erweiterung fehlt: openssl ..
Stk
@saina hast du deinen Server neu gestartet? Führen Sie auch phpinfo () aus, um zu überprüfen, wo sich die Konfigurationsdatei befindet.
Ivanka Todorova
5

C: \ laravel-master> composer create-project laravel / laravel Installieren von laravel / laravel (v4.0.6) - Installieren von laravel / laravel (v4.0.6) [RuntimeException] Sie müssen die openssl-Erweiterung aktivieren, um Dateien über https herunterladen zu können

Ich verwende EasyPhp (WAMP-Typ). Klicken Sie im EasyPHP-Symbol in der Taskleiste mit der rechten Maustaste und wählen Sie Konfiguration und dann PHP. Ich werde die PHP.iniDateikonfiguration in einem Editor, Search-Find oder CTRL+ F im Editor für das Wort öffnen, das OPENSSLSie finden werden. ;extension=php_openssl.dllEntfernen Sie einfach das; und das extension=php_openssl.dllist aktiv.

C: \ laravel-master> composer create-project laravel / laravel Installieren von laravel / laravel (v4.0.6) - Installieren von laravel / laravel (v4.0.6) Herunterladen: 100% Erstelltes Projekt in C: \ laravel-master \ laravel Komponisten wird geladen Repositorys mit Paketinformationen Installieren von Abhängigkeiten (einschließlich require-dev)

Voltronluis
quelle
Ich weiß, dass es nicht zum Thema gehört, aber wie Sie Composer mit EasyPhp installiert haben. Ich erhalte nur Fehler und muss alle neu installieren.
HenryW
2

Sie müssen die Dateisuche "c: \ Programme \ wamp \ bin \ php \ php5.3.13 \ php.ini" bearbeiten nach :; extension = php_openssl.dll

Entfernen Sie das Semikolon am Anfang

Hinweis: Wenn das Speichern der Datei nicht funktioniert, müssen Sie sie als Administrator bearbeiten. (unter win7) Gehen Sie zum Startmenü, suchen Sie nach dem Editor, klicken Sie mit der rechten Maustaste auf den Editor und klicken Sie auf "Als Administrator ausführen".

Klicken Sie im Composer-Installationsfenster einfach auf "Zurück" (oder schließen Sie es und starten Sie es erneut), und es sollte funktionieren

Zemba Albert
quelle
2

geöffnete wamp / bin / apache / apache2.4.4 / bin / php config .. wamp / bin / php / php5.4.16 / php conf einstellungen, php-ini produktion, php-ini dev, phpForApache find extension = php_openssl.dll und unkommentieren durch Entfernen ;

Njoroge Mathu
quelle
mögliche Vervielfältigung von stackoverflow.com/questions/14062055/…
blackmind
1

Kurz und bündig, kommentieren Sie diese Zeile in wamp/bin/php/php5.3.13(oder einer anderen PHP-Version) aus:
;extension=php_openssl.dll (entfernen Sie die ;)
Führen Sie nun die Befehlszeileninstallation von Composer aus. Sie werden keinen Fehler haben.
Gut zu gehen!

Augie Gardner
quelle
1

Sie sollten einen Symlink zu php.ini erstellen. Entschuldigung für den russischen Link .

Alex Pliutau
quelle
1

Ja, Sie müssen die php.ini öffnen und das Semikolon entfernen, um:

;extension=php_openssl.dll

entferne das ";" so und es wird funktionieren.

extension=php_openssl.dll

Viel Spaß beim Codieren.

Sujeet Kumar
quelle
0

Für die Installation von Composer haben die folgenden Schritte funktioniert: (WAMP Version 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
quelle
0

Alle diese Antworten sind gut, aber wenn Sie verstehen möchten, muss das Erweiterungsverzeichnis richtig sein, wenn alle nicht kommentierten Erweiterungen funktionieren sollen. Kann einen physischen oder relativen Pfad wie schreiben

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

oder

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

Es ist relativ zum Apache-Webserver httpd.exe (C: \ myStack \ apache \ bin). Wenn Sie jedoch möchten, dass es mit Composer oder etwas anderem funktioniert , benötigen Sie den physischen Pfad, da der CLI-Modus den Webserver nicht verwendet!

François Breton
quelle
0

Ich stand vor dem gleichen Problem. Ich habe meinen PHP-Ordner von php7_winxxxxnur in PHP umbenannt und es hat gut funktioniert. Es sah so aus, als würde der Komponist den Speicherort des Moduls php_openssl überprüfen c:/php/ext.

Möglicherweise müssen Sie auch c:/phpdie PATHUmgebungsvariable in hinzufügen

Tushortz
quelle