Estoy intentando instalar Facebook PHP SDK con Composer. Esto es lo que obtengo
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for facebook/php-sdk dev-master -> satisfiable by facebook/php-sdk[dev-master].
- facebook/php-sdk dev-master requires ext-curl * -> the requested PHP extension curl is missing from your system.
El problema es que tengo habilitada la extensión curl (sin comentarios en php.ini). Cuando corro phpinfo()
, dice que está habilitado. La única pista que tengo es que cuando corro $ php -m
, falta la línea 'curl' pero no sé qué hacer al respecto.
Tengo wamp 2.4 en Win8 y estoy ejecutando composer en cmd.exe.
php
windows
curl
facebook-php-sdk
composer-php
Michal Artazov
fuente
fuente
Respuestas:
Esto se debe a que no tiene una biblioteca php5-curl instalada en su sistema,
En Ubuntu es simplemente simple ejecutar el código de línea a continuación, en su caso en Xamp eche un vistazo a la documentación de Xamp
Para cualquiera que use php7.0
Para aquellos que usan php7.1
Para aquellos que usan php7.2
Para aquellos que usan php7.3
O simplemente ejecute el siguiente comando para instalar según su versión:
fuente
Esto funcionó para mí: http://ubuntuforums.org/showthread.php?t=1519176
Después de instalar Composer usando el comando,
curl -sS https://getcomposer.org/installer | php
simplemente ejecute ysudo apt-get update
luego reinstale curl consudo apt-get install php5-curl
. Entonces, el proceso de instalación del compositor debería funcionar para que finalmente pueda ejecutarphp composer.phar install
para obtener las dependencias enumeradas en su archivo composer.json.fuente
Como Danack dijo en los comentarios, hay 2 archivos php.ini. Descomenté la línea con la extensión curl en la carpeta Apache, que es php.ini utilizada por el servidor web.
Composer, por otro lado, usa php para consola, que es una historia completamente diferente. El archivo Php.ini para ese programa no es el que está en la carpeta Apache, pero está en la carpeta PHP y tuve que descomentar la línea también. Luego ejecuté la instalación nuevamente y estuvo bien.
fuente
en php7 ejecute por ejemplo:
por cada extensión faltante. Luego:
y finalmente (en la carpeta raíz del proyecto):
fuente
Me encontré con el mismo problema al intentar instalar Dropbox SDK.
CURL estaba habilitado en mi sistema, pero esto significaba php.ini en la carpeta wamp \ bin \ apache.
Simplemente tuve que editar manualmente el php.ini ubicado en wamp \ bin \ php, descomentar la
extension=php_curl.dll
línea, reiniciar Wamp y funcionó perfectamente.Por qué existen esos 2 php.ini y solo se usa uno sigue siendo un misterio para mí ...
Espero que sea útil para alguien!
fuente
$ php -S localhost:8000
en la consola;
en el archivo php.ini ...Tuve este problema después de actualizar a PHP5.6. Mi respuesta es muy similar a la de Adriano, excepto que tuve que correr:
Observe el "5.6". Instalar php5-curl no funcionó para mí.
fuente
De acuerdo con https://github.com/composer/composer/issues/2119 , podría extender su local
composer.json
para indicar que proporciona la extensión (lo que realmente no hace, por eso no debe publicar públicamente su paquete, solo úsalo internamente).fuente
provide
un paquete que recibe el mismo nombre que una extensión PHP también satisfaría los requisitos, porque en la etapa de comparación de las cosas requeridas y existentes, una extensión es simplemente una cadena como el nombre de un paquete de biblioteca.Habilitar en php 7 intente debajo del comando
fuente
Me encontré con un problema similar al intentar que Composer instalara algunas dependencias. Resulta que el .dll con el que vino mi versión de Wamp tenía un conflicto, supongo, con Windows de 64 bits.
Esta url tiene dlls de rizo fijos: http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
Desplácese hacia abajo hasta la sección que dice: Extensiones de rizo fijas.
Descargué "php_curl-5.4.3-VC9-x64.zip". Acabo de sobrescribir la dll dentro del directorio wamp / bin / php / php5.4.3 / ext con la dll que estaba en el archivo zip y el compositor funcionó nuevamente.
Estoy ejecutando Windows 8 de 64 bits.
Espero que esto ayude.
fuente
Para cualquiera que encuentre este problema en Windows, no pude encontrar mi respuesta en Google en absoluto. Acabo de intentar ejecutar composer requiere ext-curl y esto funcionó. Alternativamente, agregue lo siguiente en su archivo composer.json:
fuente
si usa wamp vaya a:
wamp\bin\php\php.5.x.x\php.ini
encontrar:;extension=php_curl.dll
eliminar (;)fuente
Tengo Archlinux con php 7.2, que tiene Curl integrado, por lo que ninguna cantidad de configuración de vudú haría que Composer vea ext-curl, que PHP podría ver y trabajar felizmente. Evitar es usar Composer con --ignore-platform-reqs.
por ejemplo, actualización del compositor --ignore-platform-reqs
Referencia = https://github.com/composer/composer/issues/1426
fuente
intente instalar php5-curl utilizando el fragmento a continuación.
si no funciona, intente debajo del código, estoy seguro de que funcionará bien.
para mí funcionó ... todo lo mejor :)
fuente
En mi caso, me mudé de PHP5 a PHP7 y obtuve este error, simplemente vaya a /bin/php/php7/php.ini, luego elimine el comentario de extension = php_curl.dll y reinicie su servidor, vuelva a ejecutar la instalación de su compositor.
fuente
No estoy seguro de por qué una respuesta con comandos de Linux obtendría tantos votos para una pregunta relacionada con Windows, pero de todos modos ...
Si
phpinfo()
muestra Curl como habilitado, perophp -m
NO, significa que probablemente también tengas unphp-cli.ini
. ejecutarphp -i
y ver qué archivo ini cargado. Si es diferente, difúndalo y refleje y las diferencias en el archivo ini de la CLI. Entonces deberías ser bueno para ir.Por cierto, descargue y use Git Bash en lugar de cmd.exe.
fuente