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 :

Sortie texte instantanément au navigateur Web


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Points : 85
    Points
    85
    Par défaut Sortie texte instantanément au navigateur Web
    Bonjour,

    J'ai constaté que lorsqu'on fait un "echo", il n'est pas directement envoyé au navigateur. Il sera envoyé à la fin de l'exécution du script.

    J'aimerai donc savoir comment envoyer directement un texte au navigateur.

    Merci d'avance.

  2. #2
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    Salut,

    peux tu développer un peu plus ton besoin...


    Sachant que php est un langage 'côté' serveur.

  3. #3
    Membre régulier Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Points : 85
    Points
    85
    Par défaut
    Ok,

    Je suis actuellement en train de développer un composant pour Joomla. Dans ce composant j'ai une action qui permet d'importer un nombre d'important d'utilisateur à partir d'un fichier excel.
    Ce traitement est assez long. En local, je n'ai aucun soucis. Cependant après l'avoir mis en test sur le serveur de Free, lors d'importation j'ai plus 1 fois sur 2 une erreur du navigateur me signalant ceci :
    Code d'erreur 64 : hôte indisponible
    Informations : la connexion avec le serveur Web a été perdue.
    .
    Je suis parti du principe que le problème venait d'un timeout du navigateur car celui ci ne recevait aucune donnée.

    Je voudrais donc réaliser un test me permettant d'envoyer toutes les 2 secondes une informations ( ex: Hello World ) au navigateur pour pas qu'il s'impatiente.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for ( $i = 0; $i < 10; $i++ )
    {
    echo "<br>".$i;
    sleep ( 2 );
    }
    Voilà mon problème et le test que j'aimerai réalisé.

  4. #4
    Membre régulier Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Points : 85
    Points
    85
    Par défaut
    A moins, j'y pense que mon script a fait planter le thread d'exécution sur le serveur de Free.

    Mais là encore je ne sais pas comment faire.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 59
    Points : 55
    Points
    55
    Par défaut
    je ne crois pas que tu puisse faire ce que tu demandes, par contre sur un serveur payant tu peux généralement paramétrer la durée du time out et donc le rendre suffisement long pour exécuter tes scripts...

  6. #6
    Membre régulier Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Points : 85
    Points
    85
    Par défaut
    En fait, là j'ai un message qui vient du navigateur web et non du serveur.

    Car lorsqu'on dépasse le temps d'exécution max du serveur on a CE message
    Fatal error: Maximum execution time of 30 seconds exceeded in
    Alors que moi j'ai CELUI CI :
    Code d'erreur 64 : hôte indisponible
    Informations : la connexion avec le serveur Web a été perdue.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonjour,
    est ce que vous utilisez ce genre de boucle et de redirection? Par ce que j'ai souvent vu Apache me lâcher à partir de la 200ème.

    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
    <?php
     
      $debut = microtime(TRUE);
      $time_max = 20;  // secondes
     
      if (isset($_GET['id'])) $id = intval($_GET['id']);
      else $id = 0;
     
      for ($i = $id; $i < 30; $i++)
      {
        sleep(5);
     
        if ((microtime(TRUE)-$debut) >= $time_max)
        {
          header('Location: '.$_SERVER['PHP_SELF'].'?id='.$i);
          exit();
        }
      }
     
      echo 'fini!';
     
    ?>
    Cordialement,
    DaRiaN.

  8. #8
    Membre régulier Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Points : 85
    Points
    85
    Par défaut
    Oui dans le coeur de Joomla la redirection est bien réaliser de cette manière.

    Et sur les serveurs de free, c'est bien apache qui est utilisé.

    Donc tu veux dire que ça pourrait être ça la cause. Ce serait une sorte de mini crash d'apache qui poserait problème.

  9. #9
    Membre régulier Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Points : 85
    Points
    85
    Par défaut
    Je viens de faire un test.

    J'ai remplacer le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header( 'HTTP/1.1 301 Moved Permanently' );
    header( 'Location: ' . $url );
    par celui ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script>document.location.href='$url';</script>\n";
    Jet j'ai toujours le même problème.


    NOTE : Ce problème n'est pas systématique. Depuis que je suis passé de PHP4 à PHP5, le problème est encore moins fréquent.
    Peut être que le serveur PHP5 de free est plus rapide.

Discussions similaires

  1. Piloter un navigateur web sous linux
    Par rootdaoud dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 22/04/2005, 11h00
  2. Quel langage pour un navigateur Web ?
    Par Auron dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 31/10/2004, 11h41
  3. Réponses: 3
    Dernier message: 11/05/2004, 18h39

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