Sto cercando di installare Laravel nella configurazione WAMP. Ricevo un messaggio di avviso per non aver abilitato openssl che avevo già fatto in WAMP.
Ecco uno screenshot del messaggio.
Sto cercando di installare Laravel nella configurazione WAMP. Ricevo un messaggio di avviso per non aver abilitato openssl che avevo già fatto in WAMP.
Ecco uno screenshot del messaggio.
Risposte:
È possibile che WAMP e Composer stiano utilizzando diverse installazioni PHP. Composer utilizzerà il set PHP nella PATH
variabile d'ambiente.
Se vuoi abilitare l' estensione openssl per installare Composer , prima devi controllare la posizione dell'installazione di PHP.
echo %PATH%
quindi verifica la posizione dell'installazione di PHP.php.ini
.extension=php_openssl.dll
Rimuovere il commento dalla riga rimuovendo il punto e virgola all'inizio.Ora sei pronto per installare Composer.
echo %PATH%
ottengo: 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
.. non c'è nessun php installato in nessuna di queste directory .. cosa devo fare ora?
extension_dir = "ext"
in php.ini
, ma sto utilizzando l'installazione di PHP normale invece di WAMP.
Ho risolto il mio problema in un modo diverso. Il problema è che la GUI di wamp era fuorviante: affermava che avevo php_openssl
abilitato .. e se facevo clic sulla php.ini
stessa GUI .. in realtà mostrava che non extension=php_openssl.dll
era commentato ..
Non sono sicuro di utilizzare la stessa versione di installazione del compositore dell'OP, ma in realtà ti chiede all'inizio di specificare il a php.exe
cui ti piace applicare il compositore (il che sostanzialmente assicura che nessuno cerchi di applicare il compositore a l'eseguibile php sbagliato come quello che è successo con l'OP) ..
Il modo in cui ho risolto questo problema è stato andando io stesso all'installazione di php all'interno del pacchetto wamp: C:\wamp\bin\php\php5.4.12
e guardando php.in
lì .. quando l'ho aperto sono rimasto scioccato dal fatto che la riga extension=php_openssl.dll
fosse effettivamente commentata! L'ho decommentato e ha funzionato perfettamente.
libeay32.dll
o liblibcrypto-*.dll
? php.net/manual/de/openssl.installation.php
Ho avuto lo stesso problema e qui la soluzione che ho trovato, sul tuo php.ini devi fare alcune modifiche:
extension_dir = "ext"
extension = php_openssl.dll
Tutti qui parlano di attiva l'estensione openssl, ma in Windows è necessario attivare anche l'estensione dir.
extension_dir
, sei fantastico!
Per il server WAMP, il commento fornito da "Enrique" ha risolto il mio problema.
wamp sta usando questo php.ini :
c:\wamp\bin\apache\Apache2.4.4\bin\php.ini
Ma il compositore usa PHP dalla CLI e quindi sta leggendo questo file:
c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)
Per il compositore dovrai abilitare l'estensione in
c:\wamp\bin\php\php5.4.12\php.ini
Modificare:
;extension=php_openssl.dll
per
extension=php_openssl.dll
Se lo stai facendo su Windows senza uno degli stack WAMP, ecco come farlo andare
C:\php
. Il programma di installazione di Composer l'ha trovato lì senza ulteriori richiestephp.ini
predefinito . Invece, vedrai due file, come indicato di seguito. Rinomina uno in php.ini
o copialo in php.ini
.
Apri il tuo php.ini
file e rimuovi il punto e virgola da questa riga (potresti voler decommentare anche altre cose ma questa riga è l'unica necessaria per Composer)
;extension=php_openssl.dll
Dovrebbe essere tutto quello che devi fare. L'installer di Composer dovrebbe fare tutto il necessario da qui.
Devi abilitare "extension = php_openssl.dll" in entrambi i file (php e apache). il percorso dei file del mio pc sono questi:
Questa è una vecchia domanda, ma ho avuto lo stesso problema (con PHP7) e la soluzione è stata, alla fine, piuttosto semplice. Tuttavia, rimuovere i commenti dalla riga in php.ini
base alle altre risposte non era abbastanza. Avevo bisogno di cambiarlo da:
;extension=php_openssl.dll
per:
extension=ext/php_openssl.dll
Nota il ext
prefisso. La dll esisteva già ma era in una sottocartella. Dopo aver cambiato la configurazione, l'installatore del compositore era felice.
è necessario abilitare l'estensione openssl in
C:\wamp\bin\php\php5.4.12\php.ini
questo è il file di configurazione php che ha il tipo ha "impostazioni di configurazione" con un'icona simile a un blocco note del driver.
c'è un punto e virgola prima dell'estensione openssl
;extension=php_openssl.dll
rimuovi il punto e virgola e avrai
extension=php_openssl.dll
Sono disponibili due php.ini
file, uno per lo sviluppo e uno per la produzione. Lascia quelli, c'è un altro php.ini
file per le impostazioni di configurazione appena sopra di loro con un'icona a forma di ingranaggio modificalo.
php.ini
, quindi apportare le modifiche che altri hanno suggerito qui.
Dopo aver modificato i file "giusti" (tutti quelli di php.ini). avevo ancora il problema. La mia soluzione era:
Aggiunta di una variabile di sistema: OPENSSL_CONF
il valore di OPENSSL_CONF dovrebbe essere il file openssl.cnf della tua attuale versione di php.
per me è stato:
-> Riavvia WAMP -> dovrebbe funzionare ora
Ho affrontato lo stesso problema, ma quando stavo cercando php.ini e php.exe ho trovato php.exe in C: \ UwAmp \ bin \ php \ php-5.4.15 quando php.ini in C: \ UwAmp \ bin \ apache. Ho appena copiato php.ini in C: \ UwAmp \ bin \ php \ php-5.4.15 e rimosso il commento dall'estensione di riga = php_openssl.dll e ha risolto.
Se ancora non riesci a risolvere il tuo problema, dai un'occhiata a questo. Questa potrebbe essere la soluzione che stai cercando
Ci sono diversi file php.ini nella cartella C: \ wamp \ bin \ php \ php xyz. Potresti trovare produzione, sviluppo e altri file php.ini. Non serve modificare i file di produzione e sviluppo. Trova il file che è esattamente uguale all'immagine sottostante. (Puoi trovarlo. Digita php.ini nella barra di ricerca ed esegui una ricerca). Apri il file e rimuovi; da extension = php_openssl.dll. Salva il file e chiudilo. Riavvia tutti i servizi nel server Wampp. Reinstalla il tuo compositore.
Questo è tutto.
Wamp funziona con un altro php.ini che si trova in C: \ wamp \ bin \ apache \ Apache2.4.4 \ bin \ php.ini. Quindi è necessario trovare manualmente il file corretto, che si trova in C: \ wamp \ bin \ php \ php5.4.12 \ php.ini. Rimuovere il commento dalla riga extension = php_openssl.dll e provare a installare nuovamente Composer.
Per coloro che stanno avendo lo stesso problema di me. Dopo aver eseguito tutte le soluzioni di cui sopra, ancora non ha funzionato per me. Ho scoperto che uWamp stava creando il file PHP.INI nella directory bin / apache. Quindi ho dovuto copiare il file PHP.INI nella directory di installazione di php, cioè la directory bin / php / phpXXXX. Questo dovrebbe anche essere dove si trova il php.exe che hai selezionato dalla configurazione del compositore.
Spero che questo ti aiuti.
Se hai compilato dal codice sorgente, l'aggiunta extension=php_openssl.dll
al file php.ini potrebbe non funzionare .
Per risolvere questo problema, apri un prompt dei comandi e digita php -i
. Scorri fino alla prima riga, ti dirà l'errore più recente relativo al tuo file php.ini.
Per risolvere il problema, trova il php_openssl.dll
file, per me era nella stessa directory dell'output della compilazione:
C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS
quindi aggiungi semplicemente la directory in cui si trova l'estensione, a php.ini
:
extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"
Si spera che l'errore sia andato
Se stai usando xampp, torna dove hai scelto quale riga di comando php vuoi usare all'inizio dell'installazione e seleziona il percorso in cui è inclusa la tua cartella xampp, dopodiché se il tuo programma di installazione dice che hai duplicato 'extension = php_openssl.dll 'commenta un file ssl nel tuo file ini php con un'; 'e l'installazione dovrebbe funzionare senza problemi.
%PATH%
, forse Composer sta cercando PHP in un'altra posizione invece di WampServer.