輸出緩衝控制多少輸出數據 (不包括頭和cookie)PHP的機制應在0之前將內部數據保存到客戶端。如果您的應用程序的輸出超過 此設置,PHP將以您指定的大小 大小的塊發送該數據。打開此設置並管理其最大緩衝區大小可以產生一些有趣的副作用,具體取決於您的應用程序和Web服務器。在已經通過打印或回送發送輸出之後,您可能能夠發送標頭和 Cookie。如果您的服務器由於緩衝輸出而發送較少的 數據包,而PHP將數據流傳輸爲 ,則您也可能會看到性能優勢。在生產服務器上,對於 性能原因,4096字節是一個很好的設置。
注意:輸出緩衝也可以通過輸出緩衝控制 功能來控制。
php.ini中可能的值:
On = Enabled and buffer is unlimited. (Use with caution)
Off = Disabled
Integer = Enables the buffer and sets its maximum size in bytes.
eg: output_buffering = Off
注:本指令是硬編碼爲Off CLI SAPI
http://php.net/output-buffering
工作的例子,如果output_buffering設置到4096
<?php
ob_start();
// Output string to overflow browser php.ini output_buffering setting.
echo str_repeat(PHP_EOL, 4097);
for ($i=0; $i<5; $i++) {
echo PHP_EOL.$i;
ob_flush();
flush();
sleep(1);
}
ob_end_flush();
?>