Bon, voilà mon problème. J'utilise la bufferisation, avec fonction de callback.
Donc en gros, ma page se compose comme suit :
1. //anti-bug
2. ob_start('obs_callback');
3.
4. // page
5.
6. ob_end_flush();
Seulement, j'utilise par fois la compression gzip. Il me faut donc utiliser ob_gzhandler.
J'ai essayé 2 solutions :
1. //anti-bug
2. ob_start('obs_callback');
3.
4. // page
5.
6. $buffer = ob_get_contents();
7. ob_end_clean();
8. ob_start('ob_gzhandler');
9. print $buffer;
10. ob_end_flush();
Seulement, quand on récupère le buffer via
ob_get_contents la fonction de callback n'est pas appellé. Il faut obligatoirement passer par
ob_end_flush.
J'ai aussi essayé d'utiliser la compression dans ma fonction de callback personnalisé :
1. //anti-bug
2. function obs_callback($buffer)
3. {
4. // traitement
5. $buffer = ob_gzhandler($buffer);
6. return $buffer;
7. }
Mais là j'obtiens une page blanche