web-dev-qa-db-fra.com

Comment installer cURL sous Windows?

J'ai suivi toutes les instructions ici: http://www.tonyspencer.com/2003/10/22/curl-with-php-and-Apache-on-windows/

installer et configurer Apache Récupérez les packages PHP5 .__ et les packages CURL.

Je lance Apache et lance un script PHP. aucun problème . mais quand je lance le script php avec curl, il échoue. 

Il retourne: **Call to undefined function curl_version() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testing.php on line 5**

Dans quelle ligne 5 est appelé à curl_init()

Je produis le php -i pour voir si le bon chemin vers l'extension est appelé. Il est correctement réglé:

extension_dir => C:\PHP\ext => C:\PHP\ext
cURL support => enabled
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8g zlib/1.2.3

J'ai même essayé d'exécuter curl_version() mais néanmoins, le même type d'erreur se produit.
Il semble que PHP ne trouve pas l'extension CURL, mais le php.ini (ainsi que php -i) indique qu'il est défini.

une idée? :)

P.S>  System I m running on:
Windows XP
Apache 2.2
PHP 5.2.6
CURL Win32 Generic Binaries: Win32 2000/XP  metalink    7.19.0  binary  SSL enabled     Daniel Stenberg     249 KB

Je n'ai pas compris ceci: 

Win32 2000/XP   7.19.0  libcurl     SSL enabled     Günter Knauf    1.55 MB
Should I get this one instead?

La raison pour laquelle j'ai besoin d'utiliser CURL est que c'est l'exigence de mon projet. Donc, je ne peux que m'en tenir à cela… .. XAMPP… comment ça marche dans Windows? Y a-t-il un site que vous pouvez recommander? Merci.

J'ai essayé beaucoup de choses sur l'installation de cURL et tout vérifier, mais je continue à tourner autour du problème et je n'ai aucune idée de ce qui se passe. 

Le serveur Apache utilise le bon PHP.ini. et le fichier PHP.ini a les correctes extension_dir et extension = php_curl.dll Je ne sais pas pourquoi cela ne fonctionne pas. même je suis chaque étape pour le mettre en place. :(

52
murvinlai

Vous vous trompez probablement sur le fichier PHP.ini que vous devez éditer. D'abord, ajoutez un PHPinfo (); sur un fichier info.php et lancez-le depuis votre navigateur.

Notez le chemin du répertoire PHP ini que vous voyez maintenant dans la liste des variables! Vous remarquerez probablement qu'il est différent de votre fichier ini PHP-CLI.

Activer l'extension

Vous avez terminé :-)

20
SchizoDuckie

Utilisez les étapes suivantes pour installer curl:

  1. Ouvrez https://curl.haxx.se/dlwiz?type=bin dans un navigateur.

  2. Sélectionnez votre système d'exploitation dans la liste déroulante: Windows/Win32 ou Win 64. Cliquez sur Sélectionner!

  3. Sous Windows 32, indiquez si vous souhaitez utiliser curl dans une invite de commande Windows (générique) ou dans un terminal Cygwin (cygwin). Sous Windows 64, indiquez si vous souhaitez utiliser curl dans une invite de commande Windows (générique) ou dans MinGW (MinGW64). Cliquez sur Sélectionner!

  4. Si nécessaire, choisissez votre système d'exploitation Windows. Terminer.

  5. Cliquez sur Télécharger pour la version pour laquelle SSL est activé ou désactivé.

  6. Ouvrez le fichier Zip téléchargé. Extrayez les fichiers dans un endroit facile à trouver, tel que C:\Program Files.

Test curl

  1. Ouvrez le terminal d'invite de commande Windows. (Dans le menu Démarrer, cliquez sur Exécuter, puis tapez cmd.)

  2. Définissez le chemin pour inclure le répertoire dans lequel vous avez mis curl.exe. Par exemple, si vous le placez dans C:\Program Files\curl, vous devez taper la commande suivante: Set path =% path%; "c:\Program Files\curl"

REMARQUE: vous pouvez également copier directement le fichier curl.exe de tout chemin existant dans votre chemin.

  1. Tapez curl. Vous devriez voir le message suivant: Curl: essayez 'curl –help' ou 'curl –message' pour plus d’information.
48
curiousBoy

J'utilise XAMPP, dans lequel il y a plusieurs fichiers php.ini.

Vous pouvez trouver la ligne dans les fichiers php.ini: ;extension=php_curl.dll

Veuillez supprimer ; au début de cette ligne. Et vous devrez peut-être redémarrer le serveur Apache.

14
boxoft

J'ai aussi eu des problèmes avec ça. Après toutes ces étapes effectuées correctement et quelques incompréhensions résolues (il n'y a pas extensions_dir mais extension_dir, et il n'y a pas sessions.save_path mais session.save_path) rien ne fonctionne.

Enfin, j'ai trouvé cette note sur php.net:

Remarque: Note aux utilisateurs de Win32: Pour activer ce module dans un environnement Windows, libeay32.dll et ssleay32.dll doivent être présents dans votre PATH. Vous n'avez pas besoin de libcurl.dll à partir du site cURL.

J'ai donc copié ssleay32.dll, libeay32.dll et php_curl.dll de/PHP vers Windows/system32 et remplacé des fichiers existants (j'ai remarqué qu'il existait d'anciennes versions de ssleay32.dll et de libeay32.dll). Après cela, j'ai trouvé la section CURL dans php_info (); et finalement tout fonctionne.

Bonne chance!

9
Erroid

Remarque: Remarque destinée aux utilisateurs Win32Pour activer ce module (cURL) dans un environnement Windows, libeay32.dll et ssleay32.dll doivent être présents dans votre CHEMIN. Vous n'avez pas besoin de libcurl.dll à partir du site cURL. 

Cette note a résolu mon problème. Pensée de partage. libeay32.dll & ssleay.dll vous le trouverez dans votre dossier d’installation php.

2
Rakesh

Une autre réponse pour d'autres personnes qui ont eu ce problème

lorsque vous commentez la ligne de rappel, remplacez-la par:

extension=C:/php/ext/php_curl.dll

ou l'emplacement du dossier d'extension, pour moi cela n'a pas fonctionné jusqu'à ce que je l'aie fait

2
Nuadu

J'ai récemment installé Curl sur PHP5 pour Windows Vista. Not n'a pas activé la bibliothèque CURL lors de la première installation de PHP5, si bien que rien à propos de Curl n'apparaissait dans phpinfo () ou php.ini. 

J'ai installé CURL en ré-exécutant le programme d'installation PHP5 (php-5.2.8-win32-installer.msi pour moi) et en choisissant "Modifier". Ensuite, j'ai ajouté le composant CURL. Redémarrez Apache, et CURL devrait fonctionner. CURL apparaîtra dans phpinfo (). En outre, voici un exemple de script que vous pouvez exécuter pour vérifier que cela fonctionne. Il affiche un flux RSS de Google:

    <?php
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,
    'http://news.google.com/news?hl=en&topic=t&output=rss');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $contents = curl_exec ($ch);
    echo $contents;
    curl_close ($ch);
    ?>
2
TrentCoder

Je suis d'accord avec Erroid, vous devez ajouter le répertoire PHP dans l'environnement PATH.

PATH=%PATH%;<Your_PHP_Path>

Exemple

PATH=%PATH%;C:\php

Cela a fonctionné pour moi. Je vous remercie.

1
RizonBarns

Vous pouvez trouver XAMPP à http://www.apachefriends.org/en/xampp.html

http://www.apachefriends.org/en/xampp-windows.html explique XMAPP pour Windows.

Oui, il y a 3 fichiers php.ini après l'installation, un pour php4, un pour php5 et un pour Apache. Veuillez les modifier en conséquence.

1
boxoft

J'ai tout essayé - mais rien n'a aidé. Après plusieurs heures de recherche, j'ai trouvé cette information:

Apache 2.4.18 pour une raison quelconque ne charge pas PHP 7.2 curl. J'ai mis à jour mon Apache à 2.4.29 et curl chargé instantanément

http://forum.wampserver.com/read.php?2,149346,149348

Que dois-je dire: j'ai mis à jour Apache et curl fonctionnait comme un charme

0
Gerfried

Vous pouvez utiliser le fichier binaire du fichier curl .download à partir d’ici: http://www.paehl.com/open_source/?CURL_7.22.0 Téléchargez le fichier et, après l'extrait, insérez-le dans un lecteur et définissez le chemin absolu dans l'environnement. dans les fenêtres. comme c:\curl -u [email protected]: mot de passe http: // localhost: 3000/user/sign_in

0
Neelesh

Vous pouvez également utiliser CygWin et installer le paquet cURL. Cela fonctionne très bien et sans faille !!

0
Manny Irizarry

J'ai résolu le problème.

Dans mon Apache, je dois spécifier: 

PHPIniDir "C: // php" Application AddType/x-httpd-php .php

et pour php.ini, au lieu d'utiliser php.ini_recommend, utilisez php.ini_dist pour configurer mon php.ini.

puis assurez-vous que le moteur php est allumé . alors il fonctionne maintenant. Merci a tous.

0
murvinlai