Advertencia del compositor: falta la extensión openssl. Cómo habilitar en WAMP

132

Intento instalar la herramienta de administración de dependencias Composer en Win7 / 64 + WampServer 2.2 a través del programa de instalación y recibo el siguiente mensaje:

Falta la extensión openssl, lo que reducirá la seguridad y la estabilidad de Composer. Si es posible, debe habilitarlo o recompilar php con --with-openssl

Así que aquí está lo que hice ...

  1. Desde mi icono de Wamp en la bandeja, hice clic php > php extensions > php_openssl
  2. Esto mostró que la tarea se completó colocando una marca de verificación junto a la extensión
  3. Luego reinicié WampServer
  4. Luego, desde el icono de Wamp en la bandeja, hice clic php > php.iniy busqué openssl para verificar que NO estaba comentado). No era.
  5. Luego volví a Composer-Setup.exe e intenté nuevamente. Mismo mensaje de advertencia : "falta la extensión openssl"
  6. Como nunca he trabajado con OpenSSL, no estoy seguro de lo que se supone que debe establecerse, así que intenté navegar a uno de mis sitios locales usando https. Falló.

¿Qué me estoy perdiendo?

Por favor avise.

durmiente
fuente
Guau. Solo fui a google para intentar obtener más información y esta publicación apareció en los resultados de búsqueda. ¿Ya? Maldición eso fue rápido. : -}
durmiente
¿Reiniciaste el servidor web?
periklis
Sí, reinicié el servidor.
durmiente
No estoy seguro de cuán extenso está tratando de llegar con SSL, pero esto puede ayudar: phpjoel.com/2011/04/07/… . Si eso no lo ayuda, siempre puede probar el viejo método de reinstalación de solución de problemas después de hacer una copia de seguridad de su base de datos y archivos.
Cameeob2003
Acabo de actualizar mi versión en WampServer a la última. Mismo mensaje Seguí con la instalación. Hasta ahora, no hay errores notables. Extraño.
durmiente

Respuestas:

316

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.

Valery I.
fuente
2
salvaste mi amor que siento laravel ... por qué demonios no dejaron la instalación como en la versión anterior :)
Tom
1
heck laravel me trajo aquí
tomexsans 03 de
1
Estoy usando uwamp donde puedo encontrar el archivo ini.
Sujeet Kumar
La respuesta también funciona para EasyPHP (haga clic con el botón derecho en el icono de EasyPHP de la bandeja del sistema, seleccione Configuración | PHP, que abre php.ini en el Bloc de notas, busque openssl, descomente la línea)
stifin
¿Qué debo hacer para xampp? Obtuve el error de que este mensaje no se pudo enviar. Error de envío: Falta la extensión: openssl ,,,
pcs
27

Además de descomentar la ;extension=php_openssl.dlllínea php.inique todos los demás han mencionado, también debe asegurarse de que la ;extension_dir = "ext"línea también esté descomentada. Para descomentar, elimine el punto y coma prefijado y guarde.

Es posible que esa línea ya no esté comentada en paquetes como WAMP y XAMPP, pero no está en una descarga PHP simple para Windows, por lo que vale la pena verificarla. Además, debe crear el php.iniarchivo copiando uno de los ejemplos, como php.ini-developmentun nuevo archivo y luego nombrarlo php.ini. Luego haga estos cambios allí.

Además, en el futuro, para instalar herramientas como PHP y Composer, recomiendo usar el administrador de paquetes Chocolatey. Entonces es tan simple como choco install composer. Por supuesto, aún necesitaría editar php.ini antes de instalar Composer con el método choco. En futuras versiones de Windows, las herramientas de administración de paquetes como Chocolatey se incorporarán a Windows , de la misma manera apt-getque en Ubuntu. ¡Tiempos emocionantes para los desarrolladores!

Con cualquiera de los métodos, después de instalar Composer, no olvide reiniciar su terminal. Ya sea que use Command Prompt, Bash (se instala con Git) o ​​Powershell, deberá reiniciarlo antes de que funcionen las variables ambientales actualizadas.

Scott Pigeon
fuente
44
Esta es la respuesta correcta si está intentando instalar Composer en Windows 10 y ha seguido esta guía
robado el
Absolutamente ... Esto es cierto ... Lo sabía, pero olvidé esa extlínea en Windows. Gracias por recordar.
WM
16

Tuve el mismo problema a pesar de que openssl estaba habilitado. El problema era que el instalador de Composer estaba mirando este archivo de configuración:

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

Pero el archivo de configuración que está cargado está realmente aquí:

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

Así que tuve que descomentarlo en el primer archivo php.ini y eso funcionó. Así es como se instaló WAMP en mi máquina de forma predeterminada. No cambié nada, así que probablemente esto también le sucederá a otros. Esto es básicamente lo mismo que la respuesta de Augie Gardner anterior, pero solo quería señalar que podría tener dos archivos php.ini.

regularmike
fuente
La ruta predeterminada que se proporcionó durante la instalación fue incorrecta. Señalar para corregir php.exe resolvió el problema. Gracias.
Sandesh Damkondwar
12

descomentar ;extension=php_openssl.dllen ambos

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

funcionará

vuhung3990
fuente
Estoy usando xampp ... así que edité 2 archivos llamados, c / php / php.ini y c / apache / bin / php.ini ... eliminé el punto y coma en este; extension = php_openssl.dll ... pero aún permanece el mismo error como este error de envío: Falta la extensión: openssl ..
pcs
@saina ¿reiniciaste tu servidor? También ejecute phpinfo () para verificar dónde se encuentra el archivo de configuración.
Ivanka Todorova
5

C: \ laravel-master> composer create-project laravel / laravel Instalación de laravel / laravel (v4.0.6) - Instalación de laravel / laravel (v4.0.6) [RuntimeException] Debe habilitar la extensión openssl para descargar archivos a través de https

Estoy usando EasyPhp (tipo WAMP). En el icono de EasyPHP en la barra de tareas, haga clic derecho y seleccione configuración, luego seleccione PHP. Abriré la PHP.iniconfiguración del archivo en un Bloc de notas, buscar-buscar o CTRL+ F en el bloc de notas para la palabra OPENSSLque encontrará, ;extension=php_openssl.dllsolo elimine el; y el extension=php_openssl.dllestá activo.

C: \ laravel-master> compositor create-project laravel / laravel Instalación de laravel / laravel (v4.0.6) - Instalación de laravel / laravel (v4.0.6) Descarga: 100% Proyecto creado en C: \ laravel-master \ laravel Cargando compositor repositorios con información del paquete Instalación de dependencias (incluido require-dev)

voltronluis
fuente
Sé que está fuera de tema, pero cómo tienes instalado Composer con EasyPhp. Solo obtengo errores y tengo que volver a instalarlos todos.
HenryW
2

necesita editar el archivo "c: \ Archivos de programa \ wamp \ bin \ php \ php5.3.13 \ php.ini" para:; extension = php_openssl.dll

eliminar el punto y coma al principio

nota: si guardar el archivo no funciona, entonces debe editarlo como administrador. (en win7) vaya al menú de inicio, busque el bloc de notas, haga clic derecho en el bloc de notas, haga clic en "Ejecutar como administrador"

en las ventanas de instalación del compositor, simplemente haga clic en Atrás y luego en siguiente (o ciérrelo y comience de nuevo) y debería funcionar

Zemba Albert
fuente
2

abrió wamp / bin / apache / apache2.4.4 / bin / php config .. wamp / bin / php / php5.4.16 / php conf settings, php-ini dev, php-ini dev, phpForApache find extension = php_openssl.dll y descomenta mediante la eliminación ;

Njoroge Mathu
fuente
posible duplicación de stackoverflow.com/questions/14062055/…
blackmind
1

Corto y dulce, descomenta esta línea en wamp/bin/php/php5.3.13(o cualquier versión de php):
;extension=php_openssl.dll (elimina la ;)
Ahora ejecuta la instalación de la línea de comandos de Composer. No tendrás un error.
¡Bueno para ir!

Augie Gardner
fuente
1

Debería hacer un enlace simbólico a php.ini. Perdón por el enlace ruso .

Alex Pliutau
fuente
1

Sí, debe abrir php.ini y eliminar el punto y coma para:

;extension=php_openssl.dll

eliminar el ";" así y funcionará.

extension=php_openssl.dll

Feliz codificación.

Sujeet Kumar
fuente
0

Para instalar Composer, los siguientes pasos me funcionaron: (WAMP versión 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
fuente
0

Todas esas respuestas son buenas, pero, de hecho, si desea comprender, el directorio de extensiones debe ser correcto si desea que funcionen todas sus extensiones no comentadas. Puede escribir una ruta física o relativa como

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

o

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

Es relativo al servidor web httpd.exe Apache (C: \ myStack \ apache \ bin). Pero si desea que funcione con Composer o cualquier otra cosa, necesita la ruta física porque el modo cli no usa el servidor web.

François Breton
fuente
0

Estaba enfrentando el mismo problema. Cambié el nombre de mi carpeta php php7_winxxxxa php y funcionó bien. Parecía que el compositor estaba comprobando la ubicación del módulo php_openssl c:/php/ext.

También es posible que deba agregar c:/phpa la PATHvariable de entorno

Tushortz
fuente