È necessario abilitare l'estensione openssl per scaricare i file tramite https


123

Volevo installare Zend Framework 2. Così ho scaricato l'applicazione scheletro. Come menzionato nel manuale ZF2, dobbiamo emettere il comando

php composer.phar install 

Dentro lo scheletro.

Ma ricevo un errore

È necessario abilitare l'estensione openssl per scaricare i file tramite https

Quindi ho abilitato ssl_module nel mio wamp, ho controllato il file php_ini e posso vedere la seguente riga

extension = php_openssl.dll

Continuo a ricevere lo stesso errore. Qualcuno ha idea di cosa mi sono perso?


1
Ho avuto questo problema eseguendo travis-ci e si è scoperto che a differenza di ogni distribuzione Linux sotto il sole, alcuni dei vecchi ambienti travis-ci sono stati compilati senza openssl, nel caso in cui qualcun altro si imbattesse nello stesso problema.
Kzqai

@Kzqai è possibile compilare questa estensione in travis, come per PHP 5.3.3 nella mia domanda ? Vedo dal loro ricettario che puoi installare estensioni PECL, ma non credo che l'estensione openssl sia disponibile tramite PECL.
Jeff Puckett

Risposte:


286

PHP CLI SAPI utilizza un php.inimodulo diverso da CGI o Apache.

Trova la riga ;extension=php_openssl.dllin wamp/bin/php/php#.#.##/php.ini entrata e decommentala rimuovendo il punto e virgola ( ;) dall'inizio della riga.


Ho anche dovuto abilitare l'estensione phar (extension = php_phar.dll) e, come detto sotto, il modulo apache ssl!
Diego Favero

1
"PHP CLI SAPI utilizza php.ini diverso dal modulo CGI o Apache." Quello era il trucco!
George D.

Se non riesci a trovare quella linea nel tuo, php.iniaggiungi semplicemente la linea extension=php_openssl.dllsotto la parte Estensioni dinamiche in essa.
totymedli

Sto usando xampp, Composer dà lo stesso errore mancante di SSL aperto anche dopo aver rimosso il ';' dell'estensione openssl in php.ini.
Shashikumar Misal

Se stai usando Mac e port, puoi selezionare la versione PHP port select php php55e installare l'estensioneport install php55-openssl
Prabowo Murti

36

Verifica di modificare il file php.ini corretto.

Riferimento: https://github.com/composer/composer/issues/1440

"WAMP utilizza diversi file php.ini nella CLI e per Apache. Quando abiliti php_openssl tramite l'interfaccia utente WAMP, lo abiliti per Apache, non per la CLI. Devi modificare C: \ wamp \ bin \ php \ php- XYZ \ php.ini per abilitarlo per la CLI. "


2
chi l'avrebbe mai detto che ... Davvero ... Questo ha risolto il problema. Grazie
Ruwantha

20

assicurati di avere il percorso corretto della cartella dell'estensione

extension_dir = "ext"

per impostazione predefinita è commentato con; carattere


1
questa riga è stata completamente commentata e ora funziona
Brian Dillingham

importante per l'installazione di Windows!
haakym

Dov'è questa linea? In quale file? php.ini in 1, C: \ wamp64 \ bin \ apache OPPURE 2. C: \ wamp64 \ bin \ php \ php7.0.0?
MyDaftQuestions

9

Ho anche avuto lo stesso problema mentre giocavo con Zend Framework 2 e il compositore. Sto usando PHP 5.4 (installato tramite macports) e la mia soluzione era installare openssl per PHP 5.4 anche tramite macports.

sudo port install php54-openssl

5

Ho affrontato questo problema, ma la configurazione di openssl (anche per cli) non ha aiutato.

Ho aggiornato il compositore e questo ha risolto il mio problema.

Basta digitare:

$ php composer.phar self-update

o

$ composer selfupdate

In bocca al lupo!


4

Uso XAMPP. In C: \ xampp \ php \ php.ini, la voce per openssl non esisteva, quindi ho aggiunto "extension = php_openssl.dll" alla riga 989 e il compositore ha funzionato.


4

Devi abilitare "extension = php_openssl.dll" in entrambi i file (php e apache). il percorso dei file del mio pc sono questi:

  1. C: \ wamp \ bin \ php \ php5.3.13 \ php.ini

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


Questo è sbagliato. Verificare con phpinfo () quale php.ini è utilizzato
ThaDafinser

3

Uttam, se il tuo problema non viene risolto, prova il seguente approccio in 3 fasi. Ha funzionato per me perché avevo esattamente lo stesso problema.

passaggio 1: fare clic sull'icona del vassoio di wamp.

step2: vai al menu apache-> apache modules

step3: fai clic sulla voce di menu "ssl_module"

riavvierà automaticamente wamp. se wamp non si riavvia automaticamente, riavvialo tramite il menu del vassoio di wamp-> Riavvia tutti i servizi. Dopo il riavvio confermare che "ssl_module" sia spuntato nel menu apache-> apache modules

dopodiché prova a installare php composer.phar dalla risposta condivisa da te, il file php.ini contiene l'estensione = php_openssl.dll e la directory php / ext ha anche il file "php_openssl.dll"

in bocca al lupo


3

La risposta di Valery mi ha aiutato: https://stackoverflow.com/a/14265815/492457

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


2

Assicurati di aggiornare il tuo php.iniper CLI. Per il mio caso questa era una linea di C:\wamp\bin\php\php5.4.3\php.inirimozione dei commenti extension=php_openssl.dll.


1

Risposta tardiva ma aggiunta in modo che altri possano apprendere il motivo.

È inoltre necessario modificare il file php.ini nella posizione "wamp \ bin \ php \ php-XYZ".


0

Ho dovuto decommentare extension=opensslnel php.inifile perché tutto funzionasse!


0

Fai attenzione se stai usando wamp non usare l'interfaccia utente wamp per abilitare il file extension=php_openssl.dll

vai alla tua directory php, ad esempio: C:\wamp\bin\php\php5.4.12e modifica php.inie decommenta il file extension=php_openssl.dll.

dovrebbe funzionare.

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.