Bufferování výstupu PHP
Bufferování způsobí, že veškerý výstup bude uchováván na serveru v mezipaměti a k prohlížeči zaslán až po dokončení skriptu nebo zavolání funkce ob_flush()
.
Této techniky se využívá nejčastěji v případech, kdy se nelze vyvarovat výstupu před funkcemi zasílajících prohlížeči informace v HTML hlavičce. Těmi jsou zejména header()
, funkce pro práci s cookies, apod...
Bufferování lze řídit pomocí nastavení PHP.
Použití v PHP
Nejjednodušší použití demonstruje následující příklad. Na úplný začátek souboru vložte ob_start()
a na konec ob_flush()
.
<?php
ob_start();
// ... skript ...
ob_flush();
?>
Více informací naleznete v dokumentaci PHP pro ob_start().
Nastavení pomocí .user.ini
Pokud nechcete zasahovat do PHP skriptů, můžete bufferování zapnout globálně pro celý web nebo adresář (vč. podadresářů). Do souboru .user.ini
vložte následující řádek
output_buffering = on