J'utilise la fonction flush() dans certains de mes scripts php pour afficher la progression de la tache en cours mais depuis que je suis passé à la nouvelle version de Wamp, cette fonction n'as plus aucun effet. Le résultat s'affiche uniquement lorsque l'exécution du script est terminé ! J'avais déjà eu ce problème cher OVH et il m'avais suffit de désactiver le module "gzip" d'apache pour que ça marche, mais là, j'ai beau chercher, je ne vois pas ce qui cause ça.
Si quelqu'un à une idée, ça pourrais m'être utile ^^
Gu1ll4um3r0m41n
Modifie 1 fois. Derniere modification le 17/12/2007 à 06:12 par Gu1ll4um3r0m41n.
ben là tu m'interesse, je me suis rendu compte que j'avais le meme probleme que toi en local avec wamp2. Je suppose que c'est une option de config de php qui sur off par defaut. mais laquelle ?!
Faut apparement envoyer tous les tags html, body, pour que ca marche sinon le browser ne répond pas (voir [fr.php.net] tout en bas)
Mais si j'enleve un tag insignifiant (genre un des meta), ca ne marche plus ! Je pense que ca doit dépendre du nombre de caracteres mis dans le buffer avant d'appeler le flush ...
--------------------------------------------- XP SP3 - pIV - 3.2Ghz - 1.5Go de ram - Wamp 2.0
Modifie 1 fois. Derniere modification le 17/12/2007 à 18:35 par rip_pit.
rip_pit a écrit: ------------------------------------------------------- > ben là tu m'interesse, je me suis rendu compte > que j'avais le meme probleme que toi en local avec > wamp2. > Je suppose que c'est une option de config de php > qui sur off par defaut. mais laquelle ?!
Sa m'étonnerais que ça vienne de PHP: essaye d'exécuter ton script en CLI et normalement tu verras bien les lignes arriver au fur et a mesure !
> Mais si j'enleve un tag insignifiant (genre un des > meta), ca ne marche plus ! > Je pense que ca doit dépendre du nombre de > caracteres mis dans le buffer avant d'appeler le > flush ...
Oui, j'ai essayé en mettant plein d'espaces et la ca marche... Mais c'est étrange quand même... Pourquoi ça marchais avant et plus maintenant ? :/
j'ai beau chercher, je ne trouve pas ... mais je persevere !
J'ai un début de réponse satisfaisante :
[www.hudzilla.org] a dit: -"Internet Explorer has an "optimisation" that makes it only render a page after it has received the first 256 bytes whether or not you use flush() - you might find these example scripts do not work as described in IE. That is not to say the concept is wrong - merely that there is not enough room here to demonstrate a longer example! To make the scripts work, make them output at least 256 characters before the first call flush() ..."
C'est vrai qu'avec firefox ca marche impec ! rrrr sacré IE ... quelle galere ce navigateur !!
--------------------------------------------- XP SP3 - pIV - 3.2Ghz - 1.5Go de ram - Wamp 2.0
Modifie 1 fois. Derniere modification le 18/12/2007 à 18:01 par rip_pit.
décidément !! ... c'est chez moi que ca ne marche pas maintenant ... J'ai tout essayé avec le php.ini et la ligne output_buffering sur On, sur Off, commentée, ...) rien n'y fait : si j'ai pas assez de caracteres avant l'output, ca ne marche pas.
Tant mieux si ca marche chez toi.
Je me suis rendu compte qu'il y a un probleme pour activer l'output_buffering via le menu de WAMP. J'ai beau cliquer dessus, il ne se met jamais en position On (icone >click gauche > php > config > output_buffering)
--------------------------------------------- XP SP3 - pIV - 3.2Ghz - 1.5Go de ram - Wamp 2.0