IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

File_get_content timeout alors que la page existe


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut File_get_content timeout alors que la page existe
    Bonjour à toutes et à tous,

    Dans un de mes scripts php, je fais appel à la fonction file_get_contents mais me voila confronté à un problème.

    Cette fonction bug avec certaines url et atteint le timeout, error.

    Pourtant j'ai beau vérifier l'url avec mon navigateur, elle s'affiche en quelques secondes donc elle existe alors pour éviter ce soucis, je fais refresh mon script qui bug et donc quand la fonction retourne un timeout, elle se recharge quelques secondes après pour forcer le file_get_contents.

    Au bout de 10 minutes de refresh (ça dépend), la fonction file_get_contents parvient à charger l'url je ne sais pas comment et donc exécute la suite du script sans soucis mais je voudrais savoir si quelqu'un sait pourquoi une url qui existe retourne un timeout avec file_get_contents à 80% (environ) ?

    Merci de votre aide car j'aurais grandement besoin que mon script marche à chaque fois car pour analyser automatiquement quelques milliers d'url, je veux pas passer 3 mois^^

    Bonne continuation.

  2. #2
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    bonsoir,

    As tu essayé de modifier max_execution_time ?

    Gillou

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut Réponse à LeGilou
    Voici mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <meta http-equiv="refresh" content="3; url='recup.php'" />
     
    // cette meta sert a forcer la lecture de l'url en cas de bug
     
     
    <?php
    set_time_limit(15);
     
    // durée du script descendue à 15 sec pour refresh plus vite quand file_get_contents bug
     
    require_once('Connections/gdc.php');
    mysql_select_db($database_gdc, $gdc);
     
    $requete4 = "SELECT * FROM url limit 1";
    $requete5 = mysql_query($requete4);
    $requete6 = mysql_fetch_array($requete5);
     
    $url_site = $requete6['url'];
     
    // on récupère l'url dans la base mysql
     
    $url=@file_get_contents($url_site);
     
    // le @ sert à éviter d'afficher les erreurs
     
    ?>
    Voila si cela peut vous éclaircir.

  4. #4
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Ca devrait fonctionner.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    require_once('Connections/gdc.php');
    mysql_select_db($database_gdc, $gdc);
     
    $sql= "SELECT url FROM url";
    $qry = mysql_query($requete4);
     
    $url_site = mysql_query($qry, 0, 'url');
    $url=file_get_contents($url_site);
     
    ?>
    Si tu fais juste ca, quel est le message d'erreur ?
    Par exemple, quelle URL plante ?

    Gillou

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut Réponse script
    Il me retourne un timeout.

    Quelques url passent, au bout d'un moment ça bloque mais ça peut bloquer à la première url.

    Voici un exemple des url que je demande dans la fonction file_get_contents et qui peuvent bloquer mais aussi s'executer normalement:

    http://www.exemple.com/view-content/test-hello_628.html

    J'ai testé l'url de google: http://www.google.fr
    Il n'y a eu aucun plantage sur 50 file_get_contents.

    L'erreur peut venir du serveur auquel je demande les pages car la plupart sont des serveurs basés aux États-Unis ?

    PS: Tout d'un coup le script a pu récupérée 94 pages alors qu'avant il bloquait sur la plupart des url, j'en déduit que ce bug ne se situe pas sur les url mais plutôt du côté serveur ou mon pc.

  6. #6
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    je ne sais pas si il y a un rapport, mais il y a une redirection sur le lien http://www.exemple.com/view-content/test-hello_628.html

    Gillou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. page qui existe alors que var_dump($page) : length=0
    Par laurentSc dans le forum Langage
    Réponses: 4
    Dernier message: 24/12/2014, 03h49
  2. [MySQL] [UTF-8] Pourquoi utiliser utf8_encode() alors que la page web et la DB sont en utf8 ?
    Par Tchupacabra dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 25/02/2008, 15h11
  3. [MySQL] réponse vide alors que le champs existe dans la table, sans retour d'erreur
    Par ben_skywalker dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/02/2007, 14h20
  4. Net:HTTP : timeout alors que le serveur répond
    Par iubito dans le forum Modules
    Réponses: 3
    Dernier message: 25/08/2006, 09h36
  5. [VBA Access] Champ texte null alors que l'objet existe bien.
    Par Caroline1 dans le forum VBA Access
    Réponses: 9
    Dernier message: 28/03/2006, 17h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo