Como instalo a extensão ext-curl com o PHP 7?

190

Instalei o PHP 7 usando este repositório , mas quando tento executar composer install, está dando o seguinte erro:

  • [package] requer ext-curl * -> a extensão de extensão PHP solicitada está ausente no seu sistema.

Com o PHP 5, você pode instalá-lo facilmente executando o comando yumou apt-get install php5-curl, mas não consigo encontrar como instalar o equivalente ao PHP 7.

Como instalo o ext-curl para PHP 7?

Stephan Vierkant
fonte
3
instale o libcurl primeiro, ie. yum install libcurl or apt-get install libcurl. Depois disso, configure o seu php 7 com curl ./configure --with-curle finalmente faça e instale
Haridarshan
@Haridarshan Yea bem, mas isso é inconveniente
Nino Škopac
Eu criei e instalei o php 7 com curl e outra extensão. Você também pode precisar instalar as bibliotecas devel.
Haridarshan 03/02

Respostas:

445

Bem, eu consegui instalá-lo por:

sudo apt-get install php-curl

no meu sistema. Isso instalará um pacote de dependência, que depende da versão padrão do php.

Depois disso, reinicie o apache

sudo service apache2 restart
Sabeeh Chaudhry
fonte
36
..e reinicie o serviço. serviço sudo apache2 restart
Sydwell 9/09/16
1
Somente se você estiver usando a versão do servidor web apache. Você não precisa reiniciar o apache para a versão CLI é claro
CommandZ
semelhante GD2, xmlrpc, sabão, etc - todas as letras pequenas sufixo trabalhou
msanjay
5
Em vez de sudo apache2 serviço restaurado, serviço sudo apache2 recarregar
sudip
Na verdade, isso depende dos pacotes disponíveis nas fontes do APT. Primeiro, atualize os pacotes APT usando apt-get update. Em seguida, digite apt-get install phpe pressione tab duas vezes. Ele solicitará uma confirmação para exibir a lista inteira como Display all n possibilities? (y or n):onde N é o número disponível de possibilidades. Pressione Y e você obterá uma longa lista de pacotes disponíveis, dos quais você pode encontrar o nome do pacote que deseja. Obviamente, se você tiver uma lista longa, isso será um pouco entediante. Mas você ainda pode reduzi-lo com base na versão.
Romeo Sierra
98

tente por favor

sudo apt-get install php7.0-curl
jk2K
fonte
9
você não deve especificar o número da versão se não precisar explicitamente. caso contrário, você poderá instalar acidentalmente uma versão mais antiga.
phil294
2
As respostas somente código e "tente isso" são desencorajadas. Estou surpreso que demorou tanto tempo para conseguir um único voto negativo.
RamenChef
2
No meu caso, eu tive que especificar a versão para que funcionasse. Acho que é porque eu tinha mais de uma versão instalada no meu sistema.
padawanTony
1
Se for necessário atualizar o PHP 5.5 / 5.6, é necessário especificar o número da versão.
AlexL
Além disso, sudo apt install curlalguém sabe por que isso acontece?
Dheeraj
25

Se o comando "sudo apt-get install php-curl" não funcionar e exibir erro, devemos executar este código antes de instalar o curl.

  • passo1 - sudo add-apt-repository ppa: ondrej / php
  • step2 - sudo apt-get update
  • passo 3 - sudo apt-get install php-curl
  • step4 - serviço sudo apache2 reiniciar
Bijaya Kumar Oli
fonte
1
Não sei por que as pessoas votaram negativamente nisso, tente, pode funcionar.
Big Green Alligator
1
Sim, funciona. Na etapa 3, você pode realmente escolher uma versão php específica.
Iliaz
1
às vezes ele precisa especificar a versão do seu php. por exemplo: step3 sudo apt-get install php7.1-curl ps você me salva de uma longa noite!
Vladimir Ch
17

Eu tentei as soluções acima, mas não funcionou para mim, apenas coloque outras pessoas nos mesmos sapatos, foi o que eu fiz. Atualizei o apt-get com o seguinte comando

sudo add-apt-repository ppa:ondrej/php

isso eu instalei com o php curl para a versão do php que eu estava usando, a minha era

sudo apt-get install php7.1-curl
Excelente Lawrence
fonte
Outras respostas me levaram à mesma conclusão exata. Digamos que esteja correto para o Now, onde outras respostas estavam corretas para seu próprio tempo. Vou verificar se isso funciona no Ubuntu 18.04, Apache 2. Isso é preferível ao simples "php-curl", que tenta carregar uma versão do PHP7.2, onde (para mim) quero continuar usando o 7.1. Não se esqueça de reiniciar o servidor da web. Depois disso, onde phpinfo () costumava mostrar o cURL logo abaixo da seção Module Authors (Sterling Hughes), agora o cURL tem sua própria seção muito detalhada, atualmente na 7.58.0.
TonyG
você é o verdadeiro herói
Berk Kaya
Essa deve ser a resposta aceita. A resposta com mais votos não me ajudou.
Marcelo Agimóvel 26/11/19
11

Podemos instalar as extensões PHP7 necessárias no momento da instalação do Magento, basta usar o comando relacionado que você recebe erro no momento da instalação no Magento

sudo apt-get install php7.0-curl
sudo apt-get install php7.0-dom
sudo apt-get install php7.0-mcrypt
sudo apt-get install php7.0-simplexml
sudo apt-get install php7.0-spl
sudo apt-get install php7.0-xsl
sudo apt-get install php7.0-intl
sudo apt-get install php7.0-mbstring
sudo apt-get install php7.0-ctype
sudo apt-get install php7.0-hash
sudo apt-get install php7.0-openssl
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-xmlwriter
sudo apt-get install php7.0-gd
sudo apt-get install php7.0-iconv

Obrigado! Espero que isso ajude você

Narendra Solanki
fonte
Sua resposta não agrega nenhum valor.
Stephan Vierkant
Sua resposta não contém nenhuma informação nova. Por favor, veja as outras respostas.
precisa saber é o seguinte
3
Esta é uma resposta muito boa, pois quem procura curl provavelmente terá a próxima pergunta em mente sobre mcrypt. E assim por diante, por isso é muito útil ter tudo lá.
TheKitMurkit
5

Primeiro, entre no seu servidor e verifique a versão do PHP que está instalada no seu servidor.

E, em seguida, execute os seguintes comandos:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Substitua a versão do PHP (php7.2) pela sua versão do PHP.

Varun PV
fonte
2

Se você estiver usando o PHP7.1 (tente php -versionencontrar a sua versão do PHP)

sudo apt-get install php7.1-curl

depois reinicie o apache

sudo service apache2 restart
Joyal
fonte
1
Prefiro esta resposta, pois especifica o número da versão. A resposta aceita não é muito precisa.
Aaron Liu
2

Eu recebi um erro de que a extensão CURL estava ausente durante a instalação do WebMail Lite 8 no WAMP (assim no Windows).

Depois de ler o libeay32.dllnecessário, que estava presente apenas em algumas das pastas de instalação do PHP (como 7.1.26), troquei a versão do PHP em uso de 7.2.14 para 7.1.26 no menu da versão do WAMP PHP, e o erro ocorreu longe.

SharpC
fonte
Eu tive que fazer isso também para fazer o CURL funcionar. (Tentei copiar o libeay32.dll da versão 7.0.10 para a pasta 7.3.8, mas não funcionou.) Não sei por que esse arquivo de biblioteca está ausente na nova instalação do php 7.3.8.
217 Stefan #
1

instale o php70w-common .

Ele fornece php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, reflexão de php, sessão de php, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib .

https://webtatic.com/packages/php70/

CiaranSynnott
fonte
6
'Php-curl' Instalando foi suficiente :-)
Stephan Vierkant
0

Usuários do Windows:

Nota: Nota aos usuários do Win32 Para ativar este módulo em um ambiente Windows, libeay32.dll e ssleay32.dll ou, como no OpenSSL 1.1 libcrypto- .dll e libssl- .dll, devem estar presentes no seu PATH. Também libssh2.dll deve estar presente no seu PATH. Você não precisa do libcurl.dll no site cURL.

https://www.php.net/manual/en/curl.installation.php

Adicione seu C: \ wamp \ bin \ php \ php7.1.15 ao seu PATH

Reinicie todos os serviços

MartyBoggs
fonte
0

Se você tiver 404 ou erros enquanto sudo apt-get install php-curlapenas tenta

sudo apt-get update

e tente novamente

sudo apt-get install php-curl

Mas observe qual versão foi instalada (eu uso o php7.3 e o php7.4-curl foi instalado - para que não funcione)

tente então

sudo apt-get install php7.3-curl

No final, você pode querer reiniciar serviços como: apache2 ou php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

isso funcionou para mim.

Verifique se o curl está na lista de módulos instalados para o php atual:

php -m

insira a descrição da imagem aqui

Jakub Ujvvary
fonte
-2

Experimente se você conseguir E: Unable to locate package {packageName}

sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php-curl
Liao San Kai
fonte
1
tantos votos negativos, como na resposta Bijaya Kumar Oli é solução trabalhada!
Vladimir Ch