CURL sur IIS6

Signaler
-
 Utilisateur anonyme -
Bonjour :)

J'ai récemment installé PHP5 sur mon serveur Windows 2003/IIS6.
Tout fonctionne bien, sauf l'extension CURL

J'ai bien activer l'extension dans mon php.ini... d'ailleurs quand je fais un phpinfo(), il me dit bien que le curl est enable...

Mais quand j'essaye d'exécuter un de mes script curl qui fonctionne parfaitement sur d'autre serveur (comme OVH), chez moi ca ne fonctionne pas. Je n'ai aucune erreur, juste une page blanche comme si tout était bien passé.

Avez-vous une idée d'ou cela peut venir ?

Merci bcp,

A++

6 réponses

Messages postés
30
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
26 janvier 2011

Bonjour,

Qu'il ne se passe rien me paraît effectivement suspect. As-tu vérifié dans ton log d'erreurs php ? Peut-être y a-t-il des choses dedans...
Hello,

Je viens d'activer les logs... et je n'ai rien... aucune erreur à propos de la page en question qui exécute du cURL :(

A++
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
27
Salut,

Quand tu parles "d'activer les logs" tu veux dire activer l'affichage des erreurs ?
As tu un exemple de code simple qui ne fonctionne pas ?

Cordialement,

Kohntark -
Hello,

J'ai activer l'affichage des logs dans php.ini oui.

Voici un exemple de script qui roule tout seul sur un autre hébergeur comme OVH :

function notif($title,$long_message,$title_message,$long_message_preview,$message_level,$silent,$action_loc_key,$run_command,$sound){
  $notif_post_data = array
  (
   "user_credentials" => "credential",
   "notification[message]" => $title,
   "notification[long_message]" => $long_message,
   "notification[title]" => $title_message,
   "notification[long_message_preview]" => $long_message_preview,
   "notification[message_level]" => $message_level,
   "notification[silent]" => $silent,
   "notification[action_loc_key]" => $action_loc_key,
   "notification[run_command]" => $run_command,
   "notification[sound]" => $sound.".caf",
  );
  
  $notif_post_data_encoded = "";
  foreach ( $notif_post_data as $k => $v )
   $notif_post_data_encoded .= ( $notif_post_data_encoded ? "&" : "" ) . rawurlencode( $k ) ."=". rawurlencode( $v );
  
  $ch = curl_init();
  curl_setopt( $ch, CURLOPT_URL, "[https://www.appnotifications.com/account/notifications.xml]" );
  curl_setopt( $ch, CURLOPT_POSTFIELDS, $notif_post_data_encoded );
  curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
  curl_exec( $ch );
  curl_close( $ch );
  
  unset( $notif_post_data, $notif_post_data_encoded );
}



A++
Messages postés
30
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
26 janvier 2011

Salut,

La fonction que tu nous donnes en exemple transmet des éléments à un autre site mais ne fourni aucun feedback sur le succès au non de son exécution !

Bon, première question bête pour éliminer le doute : ton serveur a bien accès au net ?

Sinon, plus sérieusement, il va falloir étoffer ton code pour avoir plus d'informations sur son exécution.

Dans ta fonction en l'occurrence, tu dois récupérer le retour de la fonction "curl_exec". Comme tu as mis l'option "CURLOPT_RETURNTRANSFER", ça veux dire que tu dois avoir "false" si ça plante ou le résultat si tout c'est bien passé.

Consulte la doc curl pour voir les fonctions qui peuvent te fournir des infos sur le statut de leur exécution.

C'est une habitude à prendre en développement afin d'éviter ce genre de déconvenues.

A++

ZPef
Hello,

Malheureusement ce n'est pas moi qui ai écrit ce script... c'est du tout fait fourni par le site en question !

Je vais tenter de lire la doc pour essayer d'avoir des infos en retour mais ce n'est pas gagné :)

Merci à toi


A++