58 votes

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/

pour installer et configurer apache obtenir les paquets PHP5 et obtenir les paquets CURL.

Je lance l'apache et exécute un PHP script. aucun problème. mais quand je lance le php script avec curl, ça échoue.

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

Dans lequel la ligne 5 est un appel à curl_init()

J'ai sorti le php -i pour voir si le bon chemin vers l'extension est appelé. Il est correctement défini :

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 toujours, le même type d'erreur apparaît.
Il semble que le PHP ne puisse pas trouver l'extension CURL, mais que le php.ini (et aussi php -i) montre 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 :

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 je dois utiliser CURL est que c'est l'exigence de mon projet. Donc, je ne peux que m'en tenir à cela. XAMPP... comment fonctionne-t-il sous Windows ? Y a-t-il un site que vous pouvez recommander ? Merci.

J'ai essayé beaucoup de choses en installant cURL et en vérifiant tout, mais je tourne toujours 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 PHP.ini a le bon extension_dir et extension=php_curl.dll. Je ne sais pas pourquoi cela ne fonctionne pas, même si j'ai suivi toutes les étapes de la configuration :(

4 votes

En supposant que les gens ont toujours ce problème en 2012 (comme moi), je vais poster quelques mises à jour. Apache (version actuelle 2.2.21) sort maintenant 2 versions différentes, ce qui rend l'activation de curl beaucoup plus facile. La version d'Apache dont vous avez besoin est celle avec le support SSL. Installez-la, puis installez php comme vous en avez l'habitude. Dans le php.ini, décommentez la ligne ;extension=php_curl.dll si vous ne l'avez pas encore fait et vous êtes prêt à partir. Pas besoin de télécharger quoi que ce soit d'autre.

0 votes

Les lecteurs pourront trouver cela utile pour Windows x64. stackoverflow.com/questions/25044010/

51voto

curiousBoy Points 569

Suivez les étapes suivantes pour installer curl :

  1. Abrir 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. Pour Win 32, choisissez si vous allez utiliser curl dans une invite de commande Windows (Generic) ou dans un terminal Cygwin (cygwin). Pour Win 64, choisissez d'utiliser curl dans une invite de commande Windows (Generic) ou MinGW (MinGW64). Cliquez sur Sélectionner !

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

  5. Cliquez sur Télécharger pour la version dont le 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 Fichiers.

Test de curl

  1. Ouvrez le terminal Windows Command Prompt. (Dans le menu Démarrer, cliquez sur Exécuter, puis tapez cmd).

  2. Définissez le chemin pour inclure le répertoire où vous avez placé curl.exe. Par exemple, si vous le placez dans C:\Program Fichiers \curl vous devez alors taper la commande suivante : set path=%path% ; "c : \Program Fichiers \curl "

NOTE : Vous pouvez aussi copier directement le fichier curl.exe dans n'importe quel chemin existant dans votre chemin d'accès.

  1. Type de boucle. Vous devriez voir le message suivant : curl : essayez 'curl -help' ou 'curl -message' pour plus d'informations. Cela signifie que curl est installé et que le chemin est correct.

2 votes

Meilleure réponse imo. C'est facile pour les débutants, mais je n'ai pas compris la partie "NOTE".

1 votes

@Simon_eQ : Donc le numéro 2 dit "Définir le chemin pour inclure le répertoire où vous mettez curl.exe". Je voulais dire que, si vous l'avez déjà copié dans le chemin existant qui a été défini dans votre 'Path' avant, vous n'avez pas besoin de définir votre répertoire en utilisant "set path=%path% ; "c : \Program Fichiers \curl "J'espère que c'est plus clair maintenant. Merci.

2 votes

Merci, c'était une excellente réponse pour un débutant qui veut juste l'utiliser et ne veut pas se battre avec !

22voto

SchizoDuckie Points 6420

Vous vous trompez probablement sur le PHP.ini que vous devez modifier. Tout d'abord, ajoutez un PHPinfo() ; à un info.php, et exécutez-le depuis votre navigateur.

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

Activer l'extension

Vous avez terminé :-)

1 votes

J'ai eu ce problème avec le paquet d'installation de xampp. L'arborescence de ses répertoires est pour le moins confuse. Le dossier php que vous manipulez est rarement le bon. phpinfo() est un fabuleux outil de dépannage. + 1 pour cette réponse, - 1 pour celui qui a conçu l'arborescence de xampp (qui, je suppose, était le coupable dans ce cas).

0 votes

Avez-vous besoin de configurer quelque chose dans apache

15voto

boxoft Points 333

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 retirer ; au début de cette ligne. Et vous devrez peut-être redémarrer le serveur Apache.

0 votes

+1 Activez également curl.cainfo dans le php.ini. Par exemple : curl.cainfo = " C:\Apache24\curl -7.64.0-win64-mingw \bin\curl -ca-bundle.crt"

9voto

Erroid Points 370

J'ai également eu des problèmes avec cela. Après toutes ces étapes effectuées correctement et quelques malentendus corrigés (il n'y a pas de extensions_dir mais extension_dir, et il n'y a pas de sessions.save_path mais session.save_path) rien ne fonctionne.

J'ai finalement trouvé cette note sur php.net :

Note : Note aux utilisateurs de Win32 : Afin d'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 du site cURL.

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

Bonne chance !

0 votes

À moins que vous n'utilisiez un ordinateur datant de 2004 ou d'avant (ce qui, en 2021, n'a aucune raison commerciale), il n'y a aucune raison d'utiliser un système d'exploitation 32 bits limité par la RAM. Cette réponse a été publiée huit ans après que x64 soit devenu généralement disponible.

2voto

SpaceRook Points 313

J'ai récemment installé Curl sur PHP5 pour Windows Vista. J'ai fait no activer la bibliothèque CURL lors de l'installation initiale de PHP5, donc rien sur Curl n'apparaissait dans phpinfo() ou php.ini.

J'ai installé CURL en relançant le programme d'installation de 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(). Aussi, 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);
    ?>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X