Avviso del compositore: l'estensione di openssl è mancante. Come abilitare in WAMP


132

Sto tentando di installare lo strumento di gestione delle dipendenze di Composer su Win7 / 64 + WampServer 2.2 tramite il programma di installazione e sto ricevendo il seguente messaggio:

Manca l'estensione openssl, che ridurrà la sicurezza e la stabilità di Composer. Se possibile dovresti abilitarlo o ricompilare php con --with-openssl

Quindi ecco cosa ho fatto ...

  1. Dall'icona Wamp in Tray, ho fatto clic php > php extensions > php_openssl
  2. Ciò ha dimostrato che l'attività è stata completata posizionando un segno di spunta accanto all'estensione
  3. Ho quindi riavviato WampServer
  4. Quindi dall'icona Wamp nella barra delle applicazioni, ho fatto clic php > php.inie ho cercato openssl per verificare che NON fosse commentato). Non era.
  5. Sono quindi tornato a Composer-Setup.exe e riprovato. Stesso messaggio di avviso : "Manca l'estensione openssl"
  6. Non avendo mai lavorato con OpenSSL, non sono sicuro di cosa dovrebbe essere impostato, quindi ho provato a navigare in uno dei miei siti locali usando https. E 'fallito.

Cosa mi sto perdendo?

Si prega di avvisare.


Wow. Sono appena andato su Google per cercare di ottenere maggiori informazioni e questo post è apparso nei risultati di ricerca. Già? Accidenti è stato veloce. : -}
dormiente

Hai riavviato il web server?
periklis,

Sì, ho riavviato il server.
dormiente

non sono sicuro di quanto tu stia cercando di ottenere con ssl ma questo potrebbe aiutarti: phpjoel.com/2011/04/07/… . Se ciò non ti aiuta, puoi sempre provare il buon vecchio metodo di reinstallazione della risoluzione dei problemi dopo aver eseguito il backup di DB e file.
Cameeob2003,

Ho appena aggiornato la mia versione su WampServer alla versione più recente. Stesso messaggio. Ho continuato con l'installazione. Finora, nessun errore evidente. Strano.
dormiente

Risposte:


316

WAMP utilizza diversi file php.ini nella CLI e per Apache. quando si abilita php_openssl tramite l'interfaccia utente di WAMP, lo si abilita per Apache, non per la CLI. È necessario modificare C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini per abilitarlo per la CLI.


2
hai salvato il mio amore che provo per Laravel ... perché diavolo non hanno lasciato l'installazione come nella vecchia versione :)
Tom

1
diamine laravel mi ha portato qui
tomexsans il

1
Sto usando uwamp dove posso trovare il file ini.
Sujeet Kumar,

La risposta funziona anche con EasyPHP (icona EasyPHP sulla barra delle applicazioni del tasto destro del mouse, selezionare Configurazione | PHP, che apre php.ini in Blocco note, cerca openssl, decommenta la riga)
stifin

cosa devo fare per xampp? .. Ho ricevuto l'errore come questo messaggio non è stato inviato. Errore Mailer: Estensione mancante: openssl ,,,
pezzi

27

Oltre a rimuovere il commento dalla ;extension=php_openssl.dllriga in php.inicui tutti gli altri hanno citato, devi anche assicurarti che la ;extension_dir = "ext"riga sia senza commento. Per rimuovere il commento, rimuovere il punto e virgola prefissato e salvare.

Quella linea potrebbe essere già stata decommentata in pacchetti come WAMP e XAMPP, ma non è in un semplice download di PHP per Windows, quindi vale la pena verificarlo. Inoltre, devi creare il php.inifile copiando uno degli esempi, come php.ini-developmentin un nuovo file e quindi denominandolo php.ini. Quindi apporta queste modifiche lì.

Inoltre, in futuro, per installare strumenti come PHP e Composer, ti consiglio di utilizzare il gestore di pacchetti Chocolatey. Quindi è semplice come choco install composer. Ovviamente, dovrai comunque modificare php.ini prima di installare Composer con il metodo choco. Nelle future versioni di Windows, gli strumenti di gestione dei pacchetti come Chocolatey verranno inseriti in Windows , allo stesso modo apt-getin Ubuntu. Tempi entusiasmanti per gli sviluppatori!

Con entrambi i metodi, dopo aver installato Composer, non dimenticare di riavviare il terminale. Sia che tu stia usando Prompt dei comandi, Bash (installa con Git) o ​​Powershell, dovrai riavviarlo prima che le variabili ambientali aggiornate funzionino.


4
Questa è la risposta corretta se stai cercando di installare il compositore su Windows 10 e hai seguito questa guida
Robped

Assolutamente .. Questo è vero .. Lo sapevo, ma ho dimenticato quella extlinea su Windows. Grazie per averlo ricordato.
WM,

16

Ho avuto lo stesso problema anche se openssl era abilitato. Il problema era che il programma di installazione di Composer stava guardando questo file di configurazione:

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

Ma il file di configurazione che è caricato è in realtà qui:

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

Quindi ho dovuto decommentarlo nel primo file php.ini e questo ha funzionato. Ecco come WAMP è stato installato sul mio computer per impostazione predefinita. Non ho cambiato nulla, quindi probabilmente succederà anche ad altri. Questo è fondamentalmente lo stesso della risposta di Augie Gardner sopra, ma volevo solo sottolineare che potresti avere due file php.ini.


Il percorso predefinito fornito durante l'installazione era errato, Indicando la correzione di php.exe il problema è stato risolto, grazie.
Sandesh Damkondwar,

12

commento ;extension=php_openssl.dllin entrambi

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

Funzionerà


Sto usando xampp .. quindi ho modificato 2 file denominati, c / php / php.ini e c / apache / bin / php.ini .. rimosso punto e virgola in questo; extension = php_openssl.dll .. ma rimane lo stesso errore come Errore Mailer: Estensione mancante: openssl ..
pezzi

@saina hai riavviato il tuo server? Esegui anche phpinfo () per verificare dove si trova il file di configurazione.
Ivanka Todorova,

5

C: \ laravel-master> compositore create-project laravel / laravel Installazione di laravel / laravel (v4.0.6) - Installazione di laravel / laravel (v4.0.6) [RuntimeException] È necessario abilitare l'estensione openssl per scaricare i file tramite https

Sto usando EasyPhp (tipo WAMP). Nell'icona EasyPHP nella barra delle applicazioni, fai clic con il pulsante destro del mouse e seleziona la configurazione, quindi seleziona PHP. Aprirò la PHP.iniconfigurazione del file in un Blocco note, cerca-trova o CTRL+ F nel blocco note per la parola OPENSSLche troverai, ;extension=php_openssl.dllbasta rimuovere il; e il extension=php_openssl.dllè attivo.

C: \ laravel-master> compositore create-project laravel / laravel Installazione di laravel / laravel (v4.0.6) - Installazione di laravel / laravel (v4.0.6) Download: 100% Progetto creato in C: \ laravel-master \ laravel Caricamento del compositore repository con informazioni sul pacchetto Installazione delle dipendenze (incluso request-dev)


So che è fuori tema, ma come hai installato compositore con EasyPhp. Ricevo solo errori e devo reinstallare tutto.
HenryW,

2

è necessario modificare la ricerca del file "c: \ Programmi \ wamp \ bin \ php \ php5.3.13 \ php.ini" per:; extension = php_openssl.dll

rimuovere il punto e virgola all'inizio

nota: se il salvataggio del file non funziona, è necessario modificarlo come amministratore. (su win7) vai al menu di avvio, cerca il blocco note, fai clic destro sul blocco note, fai clic su "Esegui come amministratore"

nelle finestre di installazione del compositore basta fare clic su Indietro, quindi su Avanti (o chiuderlo e ricominciare) e dovrebbe funzionare



1

Breve e dolce, decommenta questa riga in wamp/bin/php/php5.3.13(o qualunque versione php):
;extension=php_openssl.dll (rimuovi il ;)
Ora esegui l'installazione dalla riga di comando di Composer. Non avrai un errore.
Buono a partire!



1

Sì, devi aprire php.ini e rimuovere il punto e virgola per:

;extension=php_openssl.dll

Rimuovi il ";" così e funzionerà.

extension=php_openssl.dll

Happy Coding.


0

Per l'installazione di Composer sotto i passaggi mi ha funzionato: (WAMP versione 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

Tutte queste risposte sono buone, ma in effetti, se vuoi capire, la directory delle estensioni deve essere giusta se vuoi che tutte le estensioni non commentate funzionino. Può scrivere un percorso fisico o relativo come

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

o

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

È relativo al server web Apache httpd.exe (C: \ myStack \ apache \ bin) Ma se vuoi che funzioni con Composer o qualsiasi altra cosa hai bisogno del percorso fisico perché la modalità cli non usa il web server!


0

Stavo affrontando lo stesso problema. Ho rinominato la mia cartella php daphp7_winxxxx solo a php e ha funzionato bene. Sembrava che il compositore stesse controllando la posizione nel modulo php_openssl c:/php/ext.

Potrebbe anche essere necessario aggiungere c:/phpalla PATHvariabile in ambiente

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.