Je suis en train d'écrire une petite application pour ma station de radio universitaire en PHP. Il récupère essentiellement le nombre d'écouteurs de la page d'état (http://www.address.com:8000/status.xsl) et le place dans une base de données toutes les minutes.Utiliser file() ne retourne rien - PHP
Maintenant, le script semble fonctionner correctement lorsqu'il est exécuté sur mon ordinateur personnel. Je n'ai aucun problème à récupérer les informations de cette page d'état. Cependant, lorsque je le charge sur mon pack d'hébergement partagé, il semble que le délai expire. J'ai essayé d'utiliser file() sur d'autres sites comme google.com en utilisant à la fois le nom de domaine et l'adresse IP et cela fonctionne très bien. Je suis vraiment confus quant à ce que je devrais vérifier pour. Je ne vois pas de référence spécifique aux paramètres de timeout pour le fichier() dans php.ini et le fait que cela fonctionne avec d'autres sites cela me fait penser que l'université le bloque. Cependant, si c'est le cas, pourquoi cela fonctionnerait-il à la maison?
Des idées?
Merci.
Merci beaucoup. J'ai essayé cURL mais je reçois des résultats similaires. Il fonctionne comme un charme sur ma machine à la maison, mais quand téléchargé sur mon hébergement partagé, il ne fonctionne pas. La chose étrange est, si j'utilise curl (et le fichier d'ailleurs) sur google, ou un autre site, cela fonctionne bien (sur le paquet partagé ainsi que la maison). Est-il possible que mon hôte bloque la connexion en quelque sorte? Le seul problème est que chaque port utilisé porte le port 8000. – Sam
Si 'file()' et cURL ne fonctionnent pas, votre hébergeur bloque probablement les requêtes sortantes au-dessus d'une certaine plage de ports. J'ai eu le même problème avec l'hébergement partagé Godaddy dans le passé. – leepowers