curl et wamp en ligne de commande CLI


RiPSO
WRInaute passionné
WRInaute passionné
 
Messages: 1591
Inscription: 4 Oct 2007

curl et wamp en ligne de commande CLI

Message le Lun Oct 13, 2008 15:28

Salut,

Je suis en train de me prendre la tête sur le lancement d'un script php (qui utilise du curl) en ligne de commande. :cry:

La librairie curl est bien installée et ca fonctionne si je lance la page php via un navigateur.
J'ai vérifié dans le phpinfos et curl est bien enabled.
Les dlls sont bien copiées dans mon windows PATH.
Le pc est fraichement rebooté.

Mais quand j'utilise ce script en ligne de commande ca me sort l'erreur :
Code: Tout sélectionner
Fatal error: Call to undefined function curl_init() in C:\wamp\www\moteur\test.php on line 4


C'est vraiment bizarre car comme je le dis plus haut le script fonctionne parfaitement dans un navigateur. Je précise que d'autres scripts fonctionnent parfaitement via la ligne de commande.
Voici la ligne de commande :
Code: Tout sélectionner
c:\wamp\bin\php\php5.2.6\php.exe -f c:\wamp\www\moteur\test.php


J'ai absolument besoin de lancer ce script via un batch (.bat) et ce script doit absolument utiliser le curl.

Quelqu'un a une solution à me proposer svp? :?
Dernière édition par RiPSO le Lun Oct 13, 2008 16:08, édité 1 fois.

poulpe
WRInaute discret
WRInaute discret
 
Messages: 90
Inscription: 29 Juin 2004

Message le Lun Oct 13, 2008 15:36

Salult.
Tu n'utiliserais pas une variable définie que lorsque tu passes par un serveur Web par hasard ? genre $_SERVER['DOCUMENT_ROOT'] ou quelque chose comme ca pour aller chercher ta librairie ?


RiPSO
WRInaute passionné
WRInaute passionné
 
Messages: 1591
Inscription: 4 Oct 2007

Message le Lun Oct 13, 2008 15:41

non :(

voici le code :

Code: Tout sélectionner
$ch=curl_init();
curl_setopt($ch,CURLOPT_USERAGENT,"MONUSERAGENT");
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_URL,$url);
echo curl_exec($ch);
curl_close($ch);


RiPSO
WRInaute passionné
WRInaute passionné
 
Messages: 1591
Inscription: 4 Oct 2007

Message le Lun Oct 13, 2008 16:11

ok j'ai trouvé l'origine du problème.

Sous wamp il y a deux php.ini :
celui utilisé par apache via un navigateur
et celui utilisé par php via le CLI

donc il a fallut que je modifie le fichier php.ini dans le repertoire où se situe mon php.exe et que je décommente la ligne pour l'extension curl.

Voici le lien vers le forum où j'ai trouvé la solution pour + de renseignements : -http://www.sitepoint.com/forums/showthread.php?t=569955

Merci poulpe pour ton aide ;)

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Lun Oct 13, 2008 16:24

J'ai eu le même problème. Mais tu a trouvé la solution tout seul avant que je n'arrive ;)

Lorsque l'on parle de ce bug à l'équipe de wampserver, ils considèrent cela comme une feature.
Chacun son point de vue. Mais ils devraient IMHO rendre la chose plus claire.


RiPSO
WRInaute passionné
WRInaute passionné
 
Messages: 1591
Inscription: 4 Oct 2007

Message le Lun Oct 13, 2008 16:31

c'est clair, le seul moyen de voir ca c'est comparer le chemn du php.ini dans le phpinfo quand on le lance dans le navigateur ou en CLI

mais bon...

Je suis déjà sur un autre problème mais cette fois c'est avec mysql et a mon avis je suis pas prêt de le résoudre tellement il est space celui là... :lol:

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Lun Oct 13, 2008 16:33



RiPSO
WRInaute passionné
WRInaute passionné
 
Messages: 1591
Inscription: 4 Oct 2007

Message le Lun Oct 13, 2008 16:39

kazhar a écrit:Détaille :P


Mdr :lol:

Attends j'ai pas encore assez cherché :lol:

En fait vite fait c'est un tableau de liens où dans une boucle for je test avec un COUNT(*) pour voir si ils existent dans ma base. Ca me renvois une erreur du type Warning: mysql_result(): supplied argument is not a valid mysql resource. J'ai rajouté un echo pour affiché ma query entre chaque erreur et quand je ne lance qu'une query toute seule dans phpmyadmin ou alors dans un script ca fonctionne :roll:
Je posterai un nouveau sujet si mes neuronnes surchauffent encore une fois :mrgreen:

PS : trois messages que tu postes et à chaque fois un nouvel avatar sur le seigneur des anneaux... tu as mis le film en image par image pour ton avatar?? :D

dmathieu
Modérateur
Modérateur
 
Messages: 7244
Inscription: 9 Jan 2004

Message le Lun Oct 13, 2008 16:44

PS : trois messages que tu postes et à chaque fois un nouvel avatar sur le seigneur des anneaux... tu as mis le film en image par image pour ton avatar??

Non. Je dois en avoir une dizaine dans un répertoire et le script en prends une aléatoirement à chaque chargement.

Cette erreur signifie que ta requête SQL n'est pas correcte.
Fait un :
Code: Tout sélectionner
mysql_query($sql) or die(mysql_error());


Par ailleurs je te conseille de faire la démarche inverse. Récupérer tous tes liens dans la base et comparer avec ceux dans le tableaux.
Mieux vaut parcourir plusieurs fois un tableau que de faire 50 requêtes SQL dans une base.

Cela n'est pas valable si tu a 100k liens dans ton tableau et 10 dans ta base evidemment. Mais je doute que cela ne soit le cas


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

  • Analyse de popularité
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité