Problèmes de bufferisation de sortie. Principalement, j'essaie d'exécuter la mise en mémoire tampon de sortie avec le rappel ob_gzhandler, mais il continue à me dire qu'il utilise un type de compression non pris en charge. Tout est permis, et je crois que le problème est que l'exécution ob_get_level() au début de mon script produit un niveau de 1. php.ini a mon output_buffering réglé sur 4096.ob_get_level() commence au niveau 1
Si je lance quelque chose comme:
while(ob_get_level() > 0){
ob_end_clean();
}
Ensuite, je peux exécuter ob_start() avec succès avec le rappel ob_gzhandler. Mais je me demande si ça devrait être un problème. Au cours de mon script, je fais des appels à ob_clean() à différents moments car j'évite d'empiler trop de tampons car j'ai lu cela peut augmenter les performances. Je ne suis pas sûr de ce que je devrais faire ici.
Cheers.
Oui, je crois que oui. Il est défini comme: output_buffering = 4096 (que j'ai dit ci-dessus). Qu'est-ce que je veux dire, est-ce que je devrais laisser cela tel quel, et simplement lancer la boucle que j'ai ci-dessus afin que je puisse démarrer la mise en tampon de sortie ob_gzhandler? –
@Jason Lewis: C'est à vous de décider. Je laisserais probablement l'OB par défaut pour tous les scripts, et le terminerais avec la boucle 'while' dans les cas où je voulais utiliser le mien. – Piskvor
J'étais censé dire que j'utilise ob_get_clean() dans quelques endroits, pour stocker la sortie dans quelques variables et finalement il est vidé. Est-ce un bon moyen de le faire, ou devrais-je commencer un nouveau tampon pour chaque endroit où je veux capturer la sortie et utiliser plutôt ob_get_flush()? –