Comment installer l'extension ext-curl avec PHP 7?

190

J'ai installé PHP 7 à l'aide de ce dépôt , mais lorsque j'essaye de l'exécuter composer install, cela donne cette erreur:

  • [package] nécessite ext-curl * -> l'extension PHP demandée curl est absente de votre système.

Avec PHP 5, vous pouvez facilement l'installer en exécutant la commande yumou apt-get install php5-curl, mais je ne trouve pas comment installer l'équivalent PHP 7.

Comment installer ext-curl pour PHP 7?

Stéphan Vierkant
la source
3
installez d'abord libcurl ie. yum install libcurl or apt-get install libcurl. Après cela, configurez votre php 7 avec curl ./configure --with-curlet enfin faites et installez
Haridarshan
@Haridarshan Oui, d'accord, mais ce n'est pas pratique
Nino Škopac
J'ai construit et installé php 7 avec curl et une autre extension. Vous devrez peut-être également installer des bibliothèques de développement.
Haridarshan

Réponses:

445

Eh bien, j'ai pu l'installer par:

sudo apt-get install php-curl

sur mon système. Cela installera un package de dépendances, qui dépend de la version php par défaut.

Après cela, redémarrez Apache

sudo service apache2 restart
Sabeeh Chaudhry
la source
36
..et redémarrez le service. sudo service apache2 restart
Sydwell
1
Uniquement si vous utilisez la version du serveur Web Apache. Vous n'avez pas besoin de redémarrer apache pour la version CLI bien sûr
CommandZ
de même gd2, xmlrpc, soap, etc - tous les suffixes minuscules ont fonctionné
msanjay
5
Au lieu du redémarrage du service sudo apache2, sudo service apache2 reload
sudip
Cela dépend en fait des packages disponibles dans les sources APT. Tout d'abord, mettez à jour les packages APT à l'aide de apt-get update. Tapez ensuite apt-get install phpet appuyez deux fois sur tabulation. Il demandera une confirmation pour afficher la liste entière comme Display all n possibilities? (y or n):où N est le nombre de possibilités disponibles. Appuyez sur Y et vous obtiendrez une longue liste de packages disponibles, à partir de laquelle vous pouvez trouver le nom du package que vous souhaitez. Bien sûr, si vous avez une longue liste, ce sera un peu fastidieux. Mais vous pouvez toujours le réduire en fonction de la version.
Romeo Sierra
98

s'il vous plaît essayez

sudo apt-get install php7.0-curl
jk2K
la source
9
vous ne devez pas spécifier le numéro de version si vous n'en avez pas explicitement besoin. sinon, vous pourriez accidentellement installer une version plus ancienne.
phil294
2
Les réponses basées uniquement sur le code et «essayez ceci» sont déconseillées. Je suis surpris qu'il vous ait fallu si longtemps pour obtenir un seul vote défavorable.
RamenChef
2
Dans mon cas, j'ai dû spécifier la version pour que cela fonctionne. Je suppose que c'est parce que j'avais plus d'une version installée dans mon système.
padawanTony
1
Si la mise à jour depuis PHP 5.5 / 5.6, la spécification du numéro de version semble être requise.
AlexL
a dû en outre sudo apt install curlquelqu'un sait pourquoi il en est ainsi?
Dheeraj
25

Si la commande "sudo apt-get install php-curl" ne fonctionne pas et affiche une erreur Nous devons exécuter ce code avant d'installer curl.

  • étape1 - sudo add-apt-repository ppa: ondrej / php
  • step2 - sudo apt-get mise à jour
  • étape3 - sudo apt-get installer php-curl
  • étape4 - redémarrage du service sudo apache2
Bijaya Kumar Oli
la source
1
Je ne sais pas pourquoi les gens ont voté contre cela, essayez-le, cela peut fonctionner.
Big Green Alligator
1
Oui, ça marche. BTW à l'étape 3, vous pouvez en fait choisir une version php spécifique.
iliaz
1
parfois, il doit spécifier la version de votre php. par exemple: step3 sudo apt-get install php7.1-curl ps tu me sauves d'une longue nuit!
Vladimir Ch
17

J'ai essayé les solutions ci-dessus mais cela n'a pas fonctionné pour moi, juste au cas où une autre personne dans les mêmes chaussures, c'est ce que j'ai fait. J'ai mis à jour apt-get avec la commande suivante

sudo add-apt-repository ppa:ondrej/php

ce que j'ai installé avec php curl pour la version de php que j'utilisais, le mien était

sudo apt-get install php7.1-curl
Excellent Lawrence
la source
D'autres réponses m'ont conduit exactement à la même conclusion. Disons que c'est correct pour maintenant, où d'autres réponses étaient correctes pour leur propre temps. Je vais vérifier que cela fonctionne pour Ubuntu 18.04, Apache 2. C'est préférable au simple "php-curl" qui tente de charger une version PHP7.2, où (pour moi) je veux continuer à utiliser 7.1. N'oubliez pas de redémarrer le serveur Web. Après cela, là où phpinfo () affichait cURL juste sous la section Auteurs de modules (Sterling Hughes), maintenant cURL a sa propre section très détaillée, actuellement à 7.58.0.
TonyG
vous êtes le vrai héros
Berk Kaya
Cela devrait être la réponse acceptée. La réponse avec plus de votes ne m'a pas aidé.
Marcelo Agimóvel
11

Nous pouvons installer toutes les extensions PHP7 dont nous avons besoin au moment de l'installation de Magento, utilisez simplement la commande associée que vous obtenez une erreur au moment de l'installation dans 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

Merci! J'espère que ceci vous aidera

Narendra Solanki
la source
Votre réponse n'ajoute aucune valeur.
Stephan Vierkant
Votre réponse ne contient aucune nouvelle information. Veuillez voir les autres réponses.
Stephan Vierkant
3
C'est une très bonne réponse, car la personne à la recherche de curl aura probablement la prochaine question en tête à propos de mcrypt. Et ainsi de suite, il est donc très utile d'avoir tout là-bas.
TheKitMurkit
5

Connectez-vous d'abord à votre serveur et vérifiez la version de PHP qui est installée sur votre serveur.

Et puis exécutez les commandes suivantes:

sudo apt-get install php7.2-curl

sudo service apache2 restart

Remplacez la version PHP (php7.2) par votre version PHP.

Varun PV
la source
2

Si vous utilisez PHP7.1 (essayez php -versionde trouver votre version PHP)

sudo apt-get install php7.1-curl

puis redémarrez apache

sudo service apache2 restart
Joyal
la source
1
Je préfère cette réponse car elle spécifie le numéro de version. La réponse acceptée n'est pas très précise.
Aaron Liu
2

J'ai eu une erreur indiquant que l'extension CURL était manquante lors de l'installation de WebMail Lite 8 sur WAMP (donc sur Windows).

Après avoir lu ce qui libeay32.dllétait requis qui n'était présent que dans certains des dossiers d'installation PHP (tels que 7.1.26), j'ai changé la version PHP utilisée de 7.2.14 à 7.1.26 dans le menu de la version PHP de WAMP, et l'erreur est partie une façon.

SharpC
la source
J'ai dû faire cela aussi pour que CURL fonctionne. (J'ai essayé de copier libeay32.dll de la version 7.0.10 dans le dossier 7.3.8, mais cela n'a pas fonctionné.) Je ne sais pas pourquoi ce fichier de bibliothèque est absent de la nouvelle installation de php 7.3.8.
Stefan
1

installez php70w-common .

Il fournit 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, php-reflexion, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib .

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

CiaranSynnott
la source
6
L'installation de 'php-curl' était suffisante :-)
Stephan Vierkant
0

Utilisateurs Windows:

Remarque: Remarque pour les utilisateurs Win32 Pour activer ce module dans un environnement Windows, libeay32.dll et ssleay32.dll ou, à partir d'OpenSSL 1.1, libcrypto- .dll et libssl- .dll, doivent être présents dans votre PATH. Libssh2.dll doit également être présent dans votre PATH. Vous n'avez pas besoin de libcurl.dll du site cURL.

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

Ajoutez votre C: \ wamp \ bin \ php \ php7.1.15 à votre PATH

Redémarrez tous les services

MartyBoggs
la source
0

Si vous avez 404 ou des erreurs en sudo apt-get install php-curlessayant simplement

sudo apt-get update

et essayez à nouveau

sudo apt-get install php-curl

Mais remarquez quelle version a été installée (j'utilise php7.3 et php7.4-curl a été installé - donc cela ne fonctionnera pas)

essayez alors

sudo apt-get install php7.3-curl

À la fin, vous voudrez peut-être redémarrer des services tels que: apache2 ou php-fpm:

sudo apache2 restart
sudo service php7.3-fpm restart

cela a fonctionné pour moi.

Vérifiez si curl est sur la liste des modules installés pour le php actuel:

php -m

entrez la description de l'image ici

Jakub Ujvvary
la source
-2

Essayez-le si vous obtenez 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
la source
1
tant de votes négatifs, comme dans la réponse Bijaya Kumar Oli c'est une solution travaillée!
Vladimir Ch