erreur renvoyée à l'utilisation de simplexml_load_file

Petit nouveau ! | 6 Messages

26 oct. 2005, 11:54

Bonjour tout le monde...

quand je lance le script
<?php

# Configuration
$fichier_xml = 'http://www.clubic.com/xml/newsjeuxvideo.xml'; // Placez ici l'adresse du flux
$nombre_limite = 20; // Nombre maximum d'éléments à afficher

# Affichage du Flux
$xml = simplexml_load_file($fichier_xml); // on lit le flux
$items = $xml->xpath('/rss/channel/item'); // on récupère les items
$nb_items = count($items);
$max = min($nb_items, $nombre_limite);

echo '<ul>';
for ($i=0; $i<$max; $i++) {
    $item = $items[$i];
    $date = date('d-m', strtotime($item->pubDate));
    echo '<li><a href="'.$item->link.'" target="_blank">['.$date.'] '.$item->title.'</a></li>';
}
echo '</ul>';

?>
J'ai la reponse
Warning: simplexml_load_file() [function.simplexml-load-file]: Unable to access /etc/xml/catalog in /var/www/sdc/c/9/******/*****/****/test.php5 on line 8

* [26-10] SCi / Eidos bientÎt racheté à son tour ?
* [25-10] L'extension de Zoo Tycoon 2 en démo sur Clubic
* [25-10] Un Pac-Man World Rally chez Namco
* [25-10] Stubbs The Zombie sera distribué par THQ
* [25-10] Quoi de neuf en jeux vidéo ce mardi ?
* [25-10] Jolie vidéo pour le 80 Jours de Focus / Frogwares
* [24-10] Un site et des images pour Virtual Skipper 4
* [24-10] F.E.A.R. : en gore du stress sur Clubic
* [24-10] Un pad 2 en 1 PC + Playstation 2 chez Thrustmaster
* [24-10] Quoi de neuf en jeux vidéo ce lundi ?
* [24-10] Quelques nouvelles captures pour Vietcong 2
* [24-10] Digital Jesters ne serait pas en mauvaise posture
* [24-10] Trackmania Original en téléchargement sur Clubic
* [24-10] Des nouvelles de l'extension World Of WarCraft ?
* [24-10] Star Wars Battlefront 2 est terminé
* [24-10] Lost Coast enfin cette semaine ?
* [22-10] Quoi de neuf en jeux vidéo ce samedi ?
* [21-10] Trackmania Original : Nadéo se recycle sur Clubic
* [21-10] Un 'Giga Pack' pour la PSP de Sony
* [21-10] Quelques jours de retard pour Civilization 4
Je ne trouve rien concernant ce warning, et quand je lance ce meme script dans un div avec une redirection vers mon script dans un sous repertoire, j'ai l'erreur
Fatal error: Call to undefined function: simplexml_load_file() in /var/www/sdc/c/9/******/******/******/news.php5 on line 8
Ces 2 erreurs ont elles un lien direct? simplexml_load_file ne fonctionne-t-il seulement que s'il n'y a pas de redirection? ou bien vaut-il mieux coder le parser en php parce que les fonction simplexml sont trop "legeres"?

merci

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

26 oct. 2005, 12:26

Unable to access /
ça c'est un problème de droits sur le répertoire...
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Petit nouveau ! | 6 Messages

26 oct. 2005, 16:16

salut, mother T

ok...
quand je pointe le fichier xml directement, ya pas de probleme, quand je l'appelle en direct dans mon fichier php5, j'ai le "unable to connect"...
Je suis sur un serveur free.fr, j'imagine que, le serveur interprete l'acces par la fonction php comme un autre utilisateur et bloque les acces.... je trouve pas ca logique mais admettons...

Ca ne m'explique pas 2 choses: pourquoi la fonction appellée par un include et une redirection affiche
Fatal error: Call to undefined function: simplexml_load_file() in /var/www/sdc/c/9/******/******/******/news.php5 on line 8
et surtout ca ne me laisse pas d'alternative parque je ne crois pas avoir les moyens de modifier ces droits d'acces...
Il faut que je parse dans mon script et que j'utilise pas cette terrible fonction qui marche super bien chez moi... (snif...)?

ou t'as une autre idée?

h2o
Eléphant du PHP | 81 Messages

26 oct. 2005, 16:40

Une petit idée comme çà : le serveur supporte bien php5 ?

J'ai fais le test chez mon hébergeur (avec php 4 si extension = php et php 5 si extension du fichier = php5).

Avec php5 (comme dans ton code d'erreur) : pas de problème
Avec php, erreur :

Code : Tout sélectionner

Fatal error: Call to undefined function: simplexml_load_file() in /home/xxx/xxx/xxx/news.php on line 8"
Ton problème n'est peut-être qu'un problème d'extension. A vérifier...
Jean-Marie Hoornaert - h2o
Aide au développement et formation FileMaker, xml et AppleScript

h2o
Eléphant du PHP | 81 Messages

26 oct. 2005, 16:49

Etonnant.

La citation de ton premier message dans le fil comporte un message d'erreur, mais ensuite, il semble afficher correctement le résultat de ton script php à savoir la liste des 20 derniers articles du flux rss.

Etrange...
Jean-Marie Hoornaert - h2o
Aide au développement et formation FileMaker, xml et AppleScript

Petit nouveau ! | 6 Messages

27 oct. 2005, 10:31

bonjour H2O

pour etre precis:
le code dans http://jail.legroupe.free.fr/scripts/actu/test.php5

Code : Tout sélectionner

<?php # Configuration $fichier_xml = 'http://www.clubic.com/xml/newsjeuxvideo.xml'; // Placez ici l'adresse du flux $nombre_limite = 20; // Nombre maximum d'éléments à afficher # Affichage du Flux $xml = simplexml_load_file($fichier_xml); // on lit le flux $items = $xml->xpath('/rss/channel/item'); // on récupère les items $nb_items = count($items); $max = min($nb_items, $nombre_limite); echo '<ul>'; for ($i=0; $i<$max; $i++) { $item = $items[$i]; $date = date('d-m', strtotime($item->pubDate)); echo '<li><a href="'.$item->link.'" target="_blank">['.$date.'] '.$item->title.'</a></li>'; } echo '</ul>'; ?>
l'appel direct se fait sur l'adresse

http://jail.legroupe.free.fr/scripts/actu/test.php5

l'appel redirigé se fait par l'adresse

http://jail.legroupe.free.fr/index.php? ... php5&lang=

le site est hebergé par free qui supporte php5 et simplexml y est activé.
l'erreur de la premiere citation est un warning et ne bloque pas l'execution du script... mais ca ne resout pas mon probleme puisque je veut appeller mon code en redirection et pas en direct (2eme quote et pas la premiere)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 oct. 2005, 10:36

Donnes nous le script de redirection

Comment est-ce que tu passes de index.php à actu/news.php5

PS : pour faire un lien, met juste l'adresse, le BBcode s'occupe du reste ;)
Je l'ai fait pour toi cette fois ci
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Petit nouveau ! | 6 Messages

27 oct. 2005, 11:20

OK!!! J'ai trouvé la réponse à une de mes questions, comme j'execute un script php5 dans un include php4, il est interprété comme du php4

http://jail.legroupe.free.fr/index.php5 ... /test.php5

par contre le warning persiste...
La mort n'est pas l'inverse de la vie, la mort est l'inverse de la naissance...

Petit nouveau ! | 6 Messages

28 oct. 2005, 09:07

et voilà, la solution du 2eme probleme, en fait j'appelle mon script par un include dans la page index.php mais le chemin doit etre relatif par rapport au fichier d'appel de l'include (index) et pas par rapport au fichier appellé...

Merci pour vos idées,

a+
La mort n'est pas l'inverse de la vie, la mort est l'inverse de la naissance...