29 votes

Comment faire fonctionner CURL avec PHP sur Windows? (WAMP)

Mise à jour: Le problème semble avoir été des DLL corrompus quelque part dans mon installation PHP, ou peut-être un bug dans PHP 5.2.9 sur Win2k. J'ai téléchargé la distribution Windows (binaires uniquement) de PHP 5.2.10 sur php.net et je l'ai extraite dans mon répertoire c:\PHP. Après cela, tout a fonctionné correctement.

Mise à jour2: J'ai tout défait ce que j'avais essayé plus tôt (tout de la liste à puces ci-dessous), sauf que j'ai laissé "extension=php_curl.dll" en commentaire dans mon fichier php.ini. Il s'avère que c'est tout ce que vous avez à faire dans une installation correcte.


Je suis en train d'essayer de faire fonctionner CURL sur une installation Windows de PHP (version 5.2.9-2), et je suis au bout du rouleau. J'ai trouvé la page d'installation de PHP CURL, cette question SO qui fait référence à cette page, et cette question SO. J'ai essayé la plupart des suggestions dans toutes ces pages mais je reçois toujours une erreur. Voici ma page de test très simple :

Succès!

Cela me donne :

Erreur fatale: Appel à une fonction indéfinie curl_init() sur C:\ApacheRoot\curltest.php à la ligne 2

Dans mon journal d'erreurs d'Apache, je reçois ceci chaque fois que le serveur démarre :

Avertissement PHP: Démarrage de PHP: Impossible de charger la bibliothèque dynamique 'C:\\PHP\\ext\\php_curl.dll' - La procédure spécifiée est introuvable.\r\n in Inconnu à la ligne 0

J'ai fait ce qui suit :

  • Décommenté la ligne suivante dans php.ini : extension=php_curl.dll
  • Copié ssleay32.dll et libeay32.dll de C:\PHP à C:\WINNT\System32
  • Téléchargé cURL pour Win32 depuis curl.haxx.se et extrait le fichier .zip dans C:\cURL
  • Ajouté C:\cURL à ma variable d'environnement PATH système.
  • Vérifié que :
    • php.ini inclut extension_dir="C:\PHP\ext"
    • Le répertoire C:\PHP\ext contient php_curl.dll
    • Le seul fichier php.ini sur mon système est dans C:\PHP (c'est-à-dire notamment qu'il n'y a pas de C:\WINNT\php.ini)
    • Le fichier httpd.conf d'Apache inclut la ligne PHPIniDir "C:/PHP/"

J'ai également redémarré la machine (plusieurs fois, en fait...).

9voto

VolkerK Points 54118

Vous n'avez pas besoin de redémarrer l'ordinateur, il vous suffit de redémarrer Apache et le module PHP lira le nouveau fichier ini.
Avez-vous modifié le bon php.ini? En cas de doute

peut vous renseigner.

Y a-t-il quelque chose dans le fichier error.log d'Apache qui indique qu'une erreur s'est produite lors du chargement de PHP et de php_curl.dll?

Avez-vous démarré Apache en tant que service win32? Si c'est le cas, essayez de le démarrer comme une application console. Les messages d'erreur apparaîtront alors sur la console. Ou démarrez-le en tant que service et consultez le fichier error.log et le journal des événements Windows (démarrer, exécuter, eventvwr.msc /s).

édit:
"La procédure spécifiée est introuvable"
Vous avez besoin d'une dll compatible avec votre version et votre build de PHP. Qu'avez-vous exactement installé et d'où l'avez-vous obtenu?

7voto

Mr. Smith Points 3224

Essayez ceci :

  1. Arrêtez complètement WAMP.
  2. Trouvez votre dossier WAMP : C:\Chemin\Vers\WAMP\bin\Apache\VersionApache\bin\
  3. Modifiez ce php.ini et décommentez extension=php_curl.dll
  4. Redémarrez WAMP.

Cela devrait résoudre le problème.

*MODIFIER: Faites la même chose @ C:\Chemin\Vers\WAMP\bin\php\VersionPHP\

3voto

Sajjad Ashraf Points 301

Téléchargez simplement php_curl.dll fixé à partir de [http://www.mediafire.com/?3ay381k3cq59cm2](http://www.mediafire.com/?3ay381k3cq59cm2) et placez-le dans le dossier ext de votre dossier d'installation php, le mien est
C:\wamp\bin\php\php5.4.3\ext
maintenant redémarrez le serveur et c'est terminé.

1voto

Abhishek Rakshit Points 430

C'est ce qui a fonctionné pour moi

Répondu par Soren d'un autre fil SO - CURL pour WAMP

"Il semble qu'il y ait un bug quelque part. Si vous rencontrez ce problème sur Win 7 64 bits, essayez d'installer l'addon apache version 2.2.9 et l'addon php version 5.3.1 et de passer à ceux-ci dans WAMP, puis d'activer l'extension CURL. Cela a fonctionné pour moi."

1voto

RustyIngles Points 82

Cela a résolu le problème pour moi:

Allez ici:

http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/

Téléchargez 'php_curl-5.3.13-VC9-x64.zip'

Arrêtez le serveur WAMP

Extrayez le fichier 'php_curl.dll'.

Sur votre machine locale, accédez (ou à l'emplacement de votre installation WAMP) à c:\wamp\bin\php\php5.3.13\ext

Renommez php_curl.dll en php_curl.dll.old (ou comme vous le souhaitez) puis copiez le nouveau fichier dans le répertoire ci-dessus.

Redémarrez le serveur WAMP

Tout devrait maintenant fonctionner correctement.

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