Debe habilitar la extensión openssl para descargar archivos a través de https


123

Quería instalar Zend Framework 2. Así que descargué la aplicación esqueleto. Como se menciona en el manual de ZF2, tenemos que emitir el comando

php composer.phar install 

Dentro del esqueleto.

Pero recibo un error

Debe habilitar la extensión openssl para descargar archivos a través de https

Luego habilité el ssl_module en mi wamp, revisé el archivo php_ini y puedo ver la siguiente línea

extension = php_openssl.dll

Aún así obtengo el mismo error. ¿Alguien tiene alguna idea de lo que me perdí?


1
Tuve este problema al ejecutar travis-ci y resultó que, a diferencia de todas las distribuciones de Linux bajo el sol, algunos de los entornos más antiguos de travis-ci se compilaron sin openssl, en caso de que alguien más se encuentre con el mismo problema.
Kzqai

@Kzqai ¿es posible compilar esta extensión en travis, como en PHP 5.3.3 en mi pregunta ? Veo en su libro de cocina que puede instalar extensiones PECL, pero no creo que la extensión openssl esté disponible a través de PECL.
Jeff Puckett

Respuestas:


286

PHP CLI SAPI está usando un php.inimódulo diferente a CGI o Apache.

Encuentra la línea ;extension=php_openssl.dllen wamp/bin/php/php#.#.##/php.ini y elimine mediante la eliminación del punto y coma ( ;) desde el principio de la línea.


¡También tuve que habilitar la extensión phar (extensión = php_phar.dll) y, como se dice a continuación, el módulo apache ssl!
Diego Favero el

1
"PHP CLI SAPI está usando php.ini diferente que el módulo CGI o Apache". Ese fue el truco!
George D.

Si no puede encontrar esa línea en su, php.inisimplemente agregue la línea extension=php_openssl.dlldebajo de la parte Extensiones dinámicas.
totymedli

Estoy usando xampp, Composer da el mismo error de SSL abierto incluso después de eliminar ';' de la extensión openssl en php.ini.
Shashikumar Misal

Si está utilizando Mac y port, puede seleccionar la versión de PHP port select php php55e instalar la extensiónport install php55-openssl
Prabowo Murti

36

Verifique que está editando el archivo php.ini correcto.

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

"WAMP utiliza diferentes archivos php.ini en la CLI y para Apache. Cuando habilita php_openssl a través de la interfaz de usuario de WAMP, lo habilita para Apache, no para la CLI. Debe modificar C: \ wamp \ bin \ php \ php- XYZ \ php.ini para habilitarlo para la CLI ".


2
quién pensaría que ... En serio ... Esto resolvió el problema. Gracias
Ruwantha

20

asegúrese de tener la ruta correcta a la carpeta de extensión

extension_dir = "ext"

por defecto se comenta con; personaje


1
esta línea fue comentada completamente y ahora funciona
Brian Dillingham

¡Importante para la instalación de Windows!
haakym

¿Dónde está esta línea? En que archivo? php.ini en 1, C: \ wamp64 \ bin \ apache O 2. C: \ wamp64 \ bin \ php \ php7.0.0?
MyDaftQuestions

9

También tuve el mismo problema mientras jugaba con Zend Framework 2 y el compositor. Estoy usando PHP 5.4 (instalado a través de macports) y mi solución fue instalar openssl para PHP 5.4 también a través de macports.

sudo port install php54-openssl

5

Me he enfrentado a este problema, pero la configuración de openssl (también para cli) no ayudó.

He actualizado compositor y esto resolvió mi problema.

Sólo tipo:

$ php composer.phar self-update

o

$ composer selfupdate

¡Buena suerte!


4

Yo uso XAMPP. En C: \ xampp \ php \ php.ini, la entrada para openssl no existía, así que agregué "extension = php_openssl.dll" en la línea 989, y el compositor funcionó.


4

Debe habilitar "extension = php_openssl.dll" en ambos archivos (php y apache). mi ruta de archivos de PC son estos:

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

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


Esto está mal. Compruebe con phpinfo () qué php.ini se utiliza
ThaDafinser

3

Uttam, si su problema no se resuelve, intente el siguiente enfoque de 3 pasos. Funcionó para mí ya que tenía exactamente el mismo problema.

Paso 1: haga clic en el icono de la bandeja de wamp.

paso2: ir al menú apache-> módulos apache

Paso 3: haga clic en el elemento de menú "ssl_module"

reiniciará automáticamente el wamp. si wamp no se reinicia automáticamente, reinícielo a través del menú de la bandeja de wamp-> Reiniciar todos los servicios. Después de reiniciar, confirme que "ssl_module" aparece marcado en el menú apache-> apache modules

después de eso solo intente que la instalación de php composer.phar pase por la respuesta compartida por usted, el archivo php.ini contiene extension = php_openssl.dll y el directorio php / ext también tiene el archivo "php_openssl.dll"

buena suerte


3

La respuesta de Valery me ayudó: https://stackoverflow.com/a/14265815/492457

WAMP utiliza diferentes archivos php.ini en la CLI y para Apache. cuando habilita php_openssl a través de la interfaz de usuario WAMP, lo habilita para Apache, no para la CLI. Debe modificar C: \ wamp \ bin \ php \ php-5.4.3 \ php.ini para habilitarlo para la CLI.


2

Asegúrese de actualizar su php.inipara CLI. Para mi caso, esta fue una línea de C:\wamp\bin\php\php5.4.3\php.inicomentarios extension=php_openssl.dll.


1

Respuesta tardía pero agregando para que otros puedan aprender la razón.

También debe editar el archivo php.ini en la ubicación "wamp \ bin \ php \ php-XYZ".


0

¡Tuve que descomentar extension=opensslen el php.iniarchivo para que todo funcionara!


0

Si utiliza Wamp, no use la interfaz de usuario de Wamp para habilitar extension=php_openssl.dll

simplemente vaya a su directorio php, por ejemplo: C:\wamp\bin\php\php5.4.12y edite php.iniy descomente el extension=php_openssl.dll.

deberia de funcionar.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.