Probleme file_get_contents

Petit nouveau ! | 3 Messages

17 sept. 2007, 11:16

Bonjour,
Je debute en php et j'aimerais comprendre pourquoi mon code ci-dessous ne fonctionne pas lorsqu'il est executé sur le serveur.
Le but est de recuperer, pour un club donné, tous les classments tennis des adherents:
le lien de la page sur le site FFT, par exemple:http://www.fft.fr/palmares/palmares2006 ... 340184&S=F

Code : Tout sélectionner

<HTML><HEAD><TITLE>Essai 1</TITLE> </HEAD><BODY> <?php $line=""; $urlFFT= "http://www.fft.fr/palmares/palmares2006/asp/club/print_liste_club.asp?NUMERO_CLUB=14340184&S=F#"; $cnt = 0; $fcache="cache.fft"; $ftodisplay=""; ini_set('display_errors','1'); ini_set('display_startup_errors','1'); error_reporting (E_ALL); // Recupere la page FFT avec les classements // Dolater: ne pas afficher le message d'erreur si probleme... $page=file_get_contents($urlFFT,false); if ($page == false) { //Une erreur sur la page, je recupere le cache echo "<HR><td>Probleme (Le site FFT n'est pas joignable) - Lecture du cache : </td>"; $page=file_get_contents($fcache); echo $page ; } else { //La page FFT est en memoire, je prepare : //La date $ftodisplay.= "<td>Classement FFT en date du : "; $ftodisplay.=date(DATE_RFC822); $ftodisplay.= "</td>"; //Le header du tableau: ....
En local (sur mon pc avec Wamp5) cela fonctionne...
Le site "de prod" autorise "allow url"
Le message d'erreur est le suivant:
Warning: file_get_contents(http://www.fft.fr/palmares/palmares2006 ... 340184&S=F#) [function.file-get-contents]: failed to open stream: Connection refused in /WEBS/fft/club.fft.fr/docs/club/tc.xxxx/essai.php on line 28
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

17 sept. 2007, 11:21

Bonjour,

Désactive firewall, antivirus, antispyware de ton ordi, ça peut venir de là...
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 3 Messages

17 sept. 2007, 11:29

Merci pour ta réponse, mais c'est le contraire :lol: ..cela fonctionne nickel sur mon PC et ça plante lorsque je l'execute à partir du serveur "officiel" (le serveur officiel est un serveur de la FFT: Apache/1.3.37 (Unix) PHP/4.4.4 )
et allow_url_fopen est on
Amicalement

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 sept. 2007, 12:07

Il est possible que ton serveur bloque les connexions vers l'extérieur et il faut parfois demander l'autorisation de débloquer certaines adresse (ip ou url) pour que cela fonctionne... Je dirais donc qu'il te faut voir avec l'administrateur..

Surtout si ton code fonctionne en local, c'est plus du côté version et configuration qu'il te faut chercher que du côté code...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 3 Messages

17 sept. 2007, 12:11

Est ce qu'il y a un moyen de verifier ça (parce que les admins des sites FFT :oops: ...) ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

17 sept. 2007, 13:20

Si tu as un accès ssh sur le serveur, un simple wget http://... te dira si tu peux y accéder.
Si tu n'en a pas, demande aux admins serveur car vu le message d'erreur, il y a 9 chances sur 10 que le problème vienne d'une config serveur...
Quand tout le reste a échoué, lisez le mode d'emploi...

ViPHP
fab
ViPHP | 2657 Messages

17 sept. 2007, 13:55

c'est pas au serveur distant que tu dois demander l'autorisation mais au serveur sur lequel tu héberges le script qui va récuperer
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }