Working With Output Handlers

When invoked, output handlers are passed the contents of the buffer and a bitmask indicating the status of output buffering.

string handler ( string $buffer , int $phase = ?)
buffer
Contents of the output buffer.
phase
Bitmask of PHP_OUTPUT_HANDLER_* constants .

Warning

Calling any of the following functions from within an output handler will result in a fatal error: ob_clean, ob_end_clean, ob_end_flush, ob_flush, ob_get_clean, ob_get_flush, ob_start.

Note: If the PHP_OUTPUT_HANDLER_DISABLED of a handler is set, the handler will not be invoked by calling ob_end_clean, ob_end_flush, ob_get_clean, ob_get_flush, ob_clean, ob_flush or during PHP's shutdown process. Prior to PHP 8.4.0, this flag had no effect when calling ob_clean or ob_flush.

Note: The working directory of the script can change inside the shutdown function under some web servers, e.g. Apache or the built-in web server.