PHP's user-level output buffers buffer all output after they are started
until they are turned off or the script ends.
Output in the context of PHP's user-level output buffer
is everything that PHP would display or send back to the browser.
In practical terms, output is non-zero length data that is:
printed by PHP on an uncaught exception or an unhandled error
(subject to the settings of
display_errors
and error_reporting)
anything written to php://output
Note:
Data that is written directly to stdout
or passed to an SAPI function with a similar functionality
will not be captured by user-level output buffers.
This includes
writing data to stdout with fwrite()
or sending headers using header()
or setcookie().