php - Composer Advertencia: falta la extensión openssl. Cómo habilitar en WAMP
composer laravel (13)
C: / laravel-master> composer crear-proyecto laravel / laravel Instalar laravel / laravel (v4.0.6) - Instalar laravel / laravel (v4.0.6) [RuntimeException] Debe habilitar la extensión de 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 con el botón derecho y seleccione configuración, luego seleccione PHP. PHP.ini
la configuración del archivo PHP.ini
en un Bloc de notas, buscar-buscar o CTRL + F en el bloc de notas para la palabra OPENSSL
, encontrará esto ;extension=php_openssl.dll
simplemente elimine; y la extension=php_openssl.dll
está activa.
C: / laravel-master> composer crear-proyecto laravel / laravel Instalar laravel / laravel (v4.0.6) - Instalar laravel / laravel (v4.0.6) Descargar: 100% Proyecto creado en C: / laravel-master / laravel Cargando compositor repositorios con información del paquete Instalación de dependencias (incluido require-dev)
Intentando instalar la herramienta de administración de dependencias de Composer en Win7 / 64 + WampServer 2.2 a través del Instalador de instalación y obtengo 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 ...
- Desde el ícono de mi Wamp en la bandeja,
php > php extensions > php_openssl
clic enphp > php extensions > php_openssl
- Esto mostró que la tarea se completó colocando una marca de verificación junto a la extensión
- Luego reinicié WampServer
- Luego, desde el icono de Wamp en la bandeja, hice clic en
php > php.ini
y busqué en openssl para verificar que NO estaba comentado). No era. - Luego volví a Composer-Setup.exe y lo intenté de nuevo. El mismo mensaje de advertencia : "falta la extensión openssl"
- Al no haber trabajado nunca con OpenSSL, no estoy seguro de qué se debe establecer, así que traté de navegar a uno de mis sitios locales usando https. Falló.
¿Qué me estoy perdiendo?
Por favor avise.
Además de descomentar la línea ;extension=php_openssl.dll
en php.ini
que todos los demás han mencionado, también debe asegurarse de que la línea ;extension_dir = "ext"
también esté descomentada. Para descomentar, elimine el punto y coma prefijado y guárdelo.
Es posible que esa línea ya esté descomentada en paquetes como WAMP y XAMPP, pero no está en una descarga simple de PHP para Windows, por lo que vale la pena verificarla. Además, debe crear el archivo php.ini
copiando uno de los ejemplos, como php.ini-development
en un nuevo archivo y luego php.ini
nombre 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 versiones futuras de Windows, las herramientas de administración de paquetes como Chocolatey se incluirán en Windows , de la misma manera que apt-get
está en Ubuntu. Emocionantes tiempos para los desarrolladores!
Con cualquiera de los métodos, después de instalar Composer, no olvide reiniciar su terminal. Ya sea que esté utilizando Command Prompt, Bash (se instala con Git) o Powershell, deberá reiniciarlo antes de que funcionen las variables de entorno actualizadas.
Corto y dulce, descomenta esta línea en wamp/bin/php/php5.3.13
(o cualquier versión de php):
;extension=php_openssl.dll
(eliminar el ;
)
Ahora ejecuta la instalación de línea de comando de Composer. No tendrás un error.
¡Bueno para ir!
Debe hacer un enlace simbólico a php.ini. Perdón por el enlace ruso .
Estaba enfrentando el mismo problema. php7_winxxxx
nombre de mi carpeta php de php7_winxxxx
a solo php y funcionó bien. Parecía que el compositor estaba revisando la ubicación del módulo php_openssl en c:/php/ext
.
Es posible que también necesite agregar c:/php
a la PATH
en la variable de entorno
Para instalar Composer a continuación, los 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
Sí, debes 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.
Todas esas respuestas son buenas, pero de hecho, si quiere entender, el directorio de extensión debe estar en lo cierto si quiere que funcionen todas las extensiones sin comentar. 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 quieres que funcione con Composer o cualquier otra cosa, necesitas la ruta física porque el modo cli no usa el servidor web.
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 solo tuve que descomentarlo en el primer archivo php.ini y eso funcionó. Así es como se instaló WAMP en mi máquina de manera predeterminada. No cambié nada, así que esto también le pasará a otros. Esto es básicamente lo mismo que la respuesta anterior de Augie Gardner, pero solo quería señalar que podría tener dos archivos php.ini.
WAMP usa diferentes archivos php.ini en la CLI y para Apache. cuando habilita php_openssl a través de la IU de WAMP, lo habilita para Apache, no para la CLI. Necesita modificar C: / wamp / bin / php / php-5.4.3 / php.ini para habilitarlo para la CLI.
abierto wamp / bin / apache / apache2.4.4 / bin / configuración de php ... wamp / bin / php / php5.4.16 / configuraciones de php conf, php-ini production, php-ini dev, phpForApache find extension = php_openssl.dll y descomentar al eliminar ;
necesita editar la búsqueda de archivos "c: / Program Files / 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 necesita 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 vuelva a comenzar) y debería funcionar
uncomment ;extension=php_openssl.dll
en ambos
wamp/bin/php/php5.4.12/php.ini
wamp/bin/apache/Apache2.4.4/bin/php.ini
funcionará