What Output Is Buffered?
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:
- outside of the
<?php ?>tags - printed by language constructs and functions whose explicit purpose is to output user provided variables or strings such as echo, print, printf(), var_dump(), var_export(), vprintf()
- printed by functions whose purpose is to collect and output data/information on the running script or PHP such as debug_print_backtrace(), phpcredits(), phpinfo(), ReflectionExtension::info()
- 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
stdoutor passed to an SAPI function with a similar functionality will not be captured by user-level output buffers. This includes writing data tostdoutwith fwrite() or sending headers using header() or setcookie().
↑ and ↓ to navigate • Enter to select • Esc to close • / to open