Estou tentando instalar o Facebook PHP SDK com o Composer. É isso que eu recebo
$ 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.
O problema é que eu tenho a extensão de onda ativada (não comentada no php.ini). Quando corro phpinfo()
, ele diz que está ativado. A única pista que tenho é que, quando corro $ php -m
, falta a linha 'curl', mas não sei o que fazer.
Eu tenho o wamp 2.4 no Win8 e estou executando o compositor no cmd.exe.
php
windows
curl
facebook-php-sdk
composer-php
Michal Artazov
fonte
fonte
Respostas:
Isso é causado porque você não possui uma biblioteca php5-curl instalada em seu sistema,
No Ubuntu, basta executar o código de linha abaixo; no seu caso no Xamp, consulte a documentação do Xamp.
Para quem usa php7.0
Para quem usa php7.1
Para quem usa php7.2
Para quem usa php7.3
Ou simplesmente execute o comando abaixo para instalar pela sua versão:
fonte
Isso funcionou para mim: http://ubuntuforums.org/showthread.php?t=1519176
Depois de instalar o compositor usando o comando,
curl -sS https://getcomposer.org/installer | php
basta executar umsudo apt-get update
reinstale o curl comsudo apt-get install php5-curl
. O processo de instalação do compositor deve funcionar para que você possa finalmente executarphp composer.phar install
para obter as dependências listadas no seu arquivo composer.json.fonte
Como Danack disse nos comentários, existem 2 arquivos php.ini. Descomentei a linha com extensão curl na pasta Apache, que é o php.ini usado pelo servidor web.
Compositor, por outro lado, usa php para console, que é uma história totalmente diferente. O arquivo php.ini para esse programa não é o da pasta Apache, mas está na pasta PHP e eu também tive que descomentar a linha. Então eu executei a instalação novamente e estava tudo bem.
fonte
no php7 execute por exemplo:
para cada extensão ausente. Então:
e finalmente (na pasta raiz do projeto):
fonte
Corri para o mesmo problema ao tentar instalar o Dropbox SDK.
O CURL estava realmente ativado no meu sistema, mas isso significava o php.ini na pasta wamp \ bin \ apache.
Eu simplesmente tive que editar manualmente o php.ini situado em wamp \ bin \ php, descomentar a
extension=php_curl.dll
linha, reiniciar o Wamp e funcionou perfeitamente.Por que existem esses 2 php.ini e apenas um é usado ainda é um mistério para mim ...
Espero que seja útil para alguém!
fonte
$ php -S localhost:8000
no console;
no arquivo php.ini ...Eu tive esse problema depois de atualizar para o PHP5.6. Minha resposta é muito semelhante à de Adriano, exceto que eu tive que correr:
Observe o "5.6". Instalar o php5-curl não funcionou para mim.
fonte
De acordo com https://github.com/composer/composer/issues/2119, você pode estender seu local
composer.json
para indicar que ele fornece a extensão (o que realmente não funciona - é por isso que você não deve publicar publicamente seu pacote, apenas use-o internamente).fonte
provide
um pacote com o mesmo nome de uma extensão PHP também satisfazem os requisitos, porque na fase de comparação de itens necessários e existentes, uma extensão é simplesmente uma string, como o nome de um pacote de biblioteca.Ativar no php 7 try abaixo do comando
fonte
Corri para um problema semelhante ao tentar fazer o compositor instalar algumas dependências. Acontece que o arquivo .dll da minha versão do Wamp teve um conflito, suponho, com o Windows de 64 bits.
Este URL corrigiu as DLLs de ondulação: http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
Role para baixo até a seção que diz: Extensões de ondulação corrigidas.
Eu baixei "php_curl-5.4.3-VC9-x64.zip". Acabei de substituir a dll dentro do diretório wamp / bin / php / php5.4.3 / ext pela dll que estava no arquivo zip e o compositor voltou a funcionar.
Estou executando o Windows 8 de 64 bits.
Espero que isto ajude.
fonte
Para quem encontra esse problema no Windows, não consegui encontrar minha resposta no google. Eu apenas tentei executar o compositor requer ext-curl e isso funcionou. Como alternativa, adicione o seguinte no seu arquivo composer.json:
fonte
se usar wamp, vá para:
wamp\bin\php\php.5.x.x\php.ini
localizar:;extension=php_curl.dll
remover (;)fonte
Eu tenho o Archlinux com o php 7.2, que possui o Curl integrado, portanto, nenhuma quantidade de configuração vodu faria o Composer ver ext-curl, que o PHP poderia ver e trabalhar com satisfação. A solução alternativa é usar o Composer com --ignore-platform-reqs.
por exemplo, atualização do compositor --ignore-platform-reqs
Reference = https://github.com/composer/composer/issues/1426
fonte
tente instalar o php5-curl usando o trecho abaixo.
se não funcionar, tente o código abaixo, tenho certeza de que funcionará bem.
para mim funcionou ... tudo de melhor :)
fonte
No meu caso, mudei do PHP5 para o PHP7 e recebi esse erro: basta ir para o seu /bin/php/php7/php.ini, depois descomentar a extensão = php_curl.dll e reiniciar o servidor, execute novamente a instalação do compositor.
fonte
Não sei por que uma resposta com comandos do Linux obteria tantos votos positivos para uma pergunta relacionada ao Windows, mas de qualquer maneira ...
Se
phpinfo()
mostra Curl como ativado, aindaphp -m
que NÃO, significa que você provavelmentephp-cli.ini
também tem. executephp -i
e veja qual arquivo ini foi carregado. Se for diferente, diferencie-o e reflita e as diferenças no arquivo ini da CLI. Então você deve estar pronto para ir.Entre, baixe e use o Git Bash em vez do cmd.exe!
fonte