Problème Fichier XML failed to open stream avec file_get_contents

Bonjour,

Je poste un message sur ce forum car je ne sais plus trop quoi faire. Peut-être que quelqu'un pourra m'aider :wink:

Depuis plusieurs années, je récupérais les données d'un fichier XML classique (http://www.paysdesvallees.be/flux/evenements.xml) mis à jour régulièrement et hébergé sur un site externe.

Je récupérais le XML de la façon suivante:

$url="http://www.paysdesvallees.be/flux/evenements.xml";


$fileContents = file_get_contents($url);*/


$fileContents = str_replace(array("\n", "\r", "\t"), '', $fileContents);

$fileContents = trim(str_replace('"', "'", $fileContents));

$simpleXml = simplexml_load_string($fileContents);
Et j'effectuais ensuite une boucle foreach pour récupérer les items.

Mais depuis quelques jours j'ai le message suivant qui s'affiche:

Warning: file_get_contents(http://www.paysdesvallees.be/flux/evenements.xml): failed to open stream: Connection timed out in /home/meuseenf/www/api/api.php on line 54

En parcourant les forums, j'ai testé plusieurs solutions comme la fonction "cURL" à la place du "file_get_contents" ou encore la fonction "copy" de PHP pour enregistrer le fichier et le traiter directement, mais ça ne fonctionne pas.

Quand je fais un "var_dump()" du "file_get_contents($url)" cela me retourne "bool(false);" . Donc ca veut dire que rien n'est récupéré par la fonction pour créer le XML. Pourtant à l'adresse du fichier XML l'arborescence s'affiche bien.
J'ai testé ce code depuis un autre hébergement OVH et là ça fonctionne… le "file_get_contents($url)" retourne le contenu du XML…

Donc voilà, je ne sais pas quoi dire d'autres à part que ça fonctionnait bien depuis quatre ans et que j'ai changé le mot de passe de ma base de données il y a un mois, mais cette partie du fichier n'est pas concernée par la base de données (sauf si le fait de changer le mdp de la BDD modifie un paramètre de l'hébergement)…

D'avance merci pour votre aide :wink:

Le fichier est récupéré chez qui ?
Cène serait pas le serveur qui t'a banni ?

Le fichier est récupéré sur le site 'paysdesvallees.be' qui, je pense, est hébergé chez OVH. Mais je n'ai aucun contrôle sur ce site…
Par contre j'ai testé avec un de mes autres hébergement OVH mutualisé et là ça marche, j'arrice à récupérer le contenu du fichier XML…

Il y a un mois, j'ai du modifier le mot de passe de la base de données car je l'avais perdu. J'ai donc du modifier les fichiers de connexion à la BDD, mais cette partie du code (récupération d'un fichier XML) n'a rien à voir avec la base de données… Est-ce que la modification du mot de passe peut provoquer un changement de configuration de l'hébergement qui empêcherait la récupération du fichier XML?


Le fichier est récupéré sur le site 'paysdesvallees.be' qui, je pense, est hébergé chez OVH. Mais je n'ai aucun contrôle sur ce site...
Par contre j'ai testé avec un de mes autres hébergement OVH mutualisé et là ça marche, j'arrice à récupérer le contenu du fichier XML...


paysdesvallees.be, n'est pas chez OVH mais chez un autre hébergeur en belgique. ( MAEHDROS HOSTING )

Si tes autres sites ne sont pas sur le même cluster, alors c'est possible qu'ils ne soient pas "bloquées". Chaque cluster a une ip différente ..

Le mieux est de voir avec le propriétaire du site .. Il en a peut être eu marre de tes requêtes et les a bloqué. ça dépend de l'intervalle auquel tu les faisais.

Merci pour ta réponse. Je vais les contacter alors. Par contre, je ne comprends pas bien le système du "cluster". Tu sais m'en dire plus? Il y aurait peut-être quelque chose à modifier de mon côté avant de les contacter?

Bonjour,

Un cluster c'est un ensemble de plusieurs machines.
Donc ici votre site est présent sur plusieurs serveurs pour garantir au maximum la disponibilité et repartir au mieux la charge.

Cordialement, janus57

OVh gère des centaines de milliers de sites sur l'hébergement mutualisé.
Ces sites sont répartis sur plusieurs milliers de serveurs physiques.
Pour "ranger" un peu tout ça, selon ta date de souscription, OVH t'a assigné un "cluster".

il y en a une 15aines en tout : https://docs.ovh.com/fr/fr/web/hosting/liste-des-adresses-ip-des-clusters-et-hebergements-web/

C'est juste pour "gérer" le tout. Tu peux donc avoir un site sur le cluster002 et un autre sur le cluster 020.

Ok je vois.
Ici je remarque que j'ai oublié de mentionner quelque chose.
Les fichiers du site qui contiennent notamment le script de récupération XML sont hébergés sur un hébergement A, mais la base de données à laquelle je me réfère est à un autre hébergement B. Donc pas celui de l'hébergement A.

L'hébergement A a le cluster014 et l'hébergement B, celui de la base de données, a le cluster 015.
Est-ce que le problème pourrait provenir de là?