Précédent   Forum des professionnels en informatique > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2005, 18h21   #1
Invité de passage
 
Inscription : juin 2005
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 13
Points : 0
Points : 0
Par défaut [Configuration] Utilisation de "flush" chez OVH

Je précise je suis sur un serveur de OVH car je pense que c'est lié. PHP 4.3.11

Impossible d'afficher du texte au fil de l'eau. J'ai tout essayé flush() ob_flush(), ob_end_flush().

Voici le code qui ne marche pas. Il m'affiche tout à la fin

Code :
1
2
3
4
5
6
7
<?
for ($i=0; $i<10; $i++) {
echo $i;
flush();
sleep(1);
}
?>
yvan02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 18h27   #2
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 543
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 543
Points : 4 408
Points : 4 408
Certaines configurations de PHP impliquent que PHP fait de la bufférisation dès le début du script.
Il faut donc faire

Code :
1
2
3
4
5
6
7
8
9
<?php
@ob_end_clean();
for ($i=0; $i<10; $i++)
{
    echo $i;
    flush();
    sleep(1);
}
?>
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 18h31   #3
Invité de passage
 
Inscription : juin 2005
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 13
Points : 0
Points : 0
déjà essayé, ça ne marche pas
yvan02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 18h35   #4
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 543
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 543
Points : 4 408
Points : 4 408
ça marche parfaitement sur toutes les configurations que j'ai eu le loisir d'essayer.
Ah oui et j'ai essayé avec IE et ça marche qu'après réactualisation. Un défaut de conception d'IE, probablement.
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 18h37   #5
Nouveau Membre du Club
 
Inscription : janvier 2005
Messages : 55
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 55
Points : 33
Points : 33
Citation:
Même le navigateur peut réaliser une bufferisation avant de l'afficher. Netscape, par exemple, met en cache le texte jusqu'à ce qu'il recoive une fin de ligne, ou une nouvelle et il ne va effectuer aucun affichage tant que les balises </table> ne seront pas toutes refermées.

Certaines versions de Microsoft Internet Explorer ne commençeront l'affichage de la page qu'après avoir reçu 256 octets d'affichage. Cela vous obligera à envoyer des espaces supplémentaires pour afficher la page.
Source php.net

Cela vient sûrement de là ton problème
Neal Morse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 18h40   #6
Invité de passage
 
Inscription : juin 2005
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 13
Points : 0
Points : 0
J'ai beau essayer avec IE, FireFox, ça ne marche pas.

Tu peux essayer ?

http://www.referencement-site-pro.com/referencement-auto/test.php
yvan02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 18h48   #7
Nouveau Membre du Club
 
Inscription : janvier 2005
Messages : 55
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 55
Points : 33
Points : 33
Le navigateur (FF 1.0.6) rame 4-5 secondes puis affiche tes 7388 h et 0123456789 ... d'un seul coup
Neal Morse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 18h53   #8
Invité de passage
 
Inscription : juin 2005
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 13
Points : 0
Points : 0
Merci pour la confirmation. Donc, ça ne marche pas. Je pense que c'est lié à la config de mon hébergeur.
yvan02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 18h56   #9
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 543
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 543
Points : 4 408
Points : 4 408
Ce n'est pas de la faute du navigateur, ton serveur n'envoie les données qu'à la fin et en un seul coup.
Donc ton PHP doit encore faire de la bufférisation. As-tu un ob_start() ou un session_start() dans ton code ?
Essaie de faire plusieurs ob_end_clean(); (sans le @ pour voir si ça sert vraiment à quelque chose)
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 19h03   #10
Invité de passage
 
Inscription : juin 2005
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 13
Points : 0
Points : 0
non pas d'ob_start() ou session_start(). Simplement le code comme indiqué là-haut.

J'ai essayé d'enlever le @, ça n'affiche rien de plus !
yvan02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 20h57   #11
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 543
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 543
Points : 4 408
Points : 4 408
Si ça n'affiche rien, ça veut dire qu'il y avait bien un buffer à effacer.
Essaie
Code :
1
2
3
4
5
6
7
8
9
10
<?php
ob_end_clean();
ob_end_clean();
for ($i=0; $i<10; $i++)
{
    echo $i;
    flush();
    sleep(1);
}
?>
etc.
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2005, 21h12   #12
Invité de passage
 
Inscription : juin 2005
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 13
Points : 0
Points : 0
Non, marche pas non plus. Merci quand même de ton aide.

En fait la bufférisation n'est pas lancée puisque

var_dump(ob_end_clean()) me retourne FALSE

si je fait

ob_start()

puis

var_dump(ob_end_clean()) me retourne TRUE

Donc j'arrive bien à démarrer et stopper la bufférisation, mais ça n'explique pas pourquoi ça ne marche pas.
:
yvan02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2005, 22h00   #13
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
il y a surement un buffer intermédiaire entre la génération de ton code et ton navigateur donc tu ne peux certainement pas le contourner
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2005, 22h28   #14
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 543
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 543
Points : 4 408
Points : 4 408
PHP est installé en module, en cgi ?
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2005, 22h31   #15
Invité de passage
 
Inscription : juin 2005
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 13
Points : 0
Points : 0
Merci de vous être penché sur mon pb, même s'il n'a pas été résolu. Je pense que ça vient de l'hébergeur OVH.
yvan02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2010, 16h10   #16
En attente de confirmation mail
 
aza39 aza39
Inscription : octobre 2008
Messages : 128
Détails du profil
Informations personnelles :
Nom : aza39 aza39

Informations forums :
Inscription : octobre 2008
Messages : 128
Points : 73
Points : 73
Il faut rajouter "SetEnv no-gzip 1" dans le ".htaccess"

Désoler de repêcher un topic de 2005 mais le problème est toujours d'actualité, et cette page apparait en deuxième résultat de
Click to View Search Results for "flush ovh" "flush ovh"
.
totoz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h24.


 
 
 
 
Partenaires

Hébergement Web