The behaviour of these functions is affected by settings in php.ini.
|output_handler||NULL||PHP_INI_PERDIR||Available since PHP 4.0.4.|
|implicit_flush||"0"||PHP_INI_ALL||PHP_INI_PERDIR in PHP <= 4.2.3.|
|url_rewriter.tags||"a=href,area=href,frame=src,form=,fieldset="||PHP_INI_ALL||Available since PHP 4.0.4. Before PHP 7.1.0, this was used to set session's trans sid rewrite. From PHP 7.1.0, it is only used by output_add_rewrite_var().|
|url_rewriter.hosts||$_SERVER['HTTP_HOST'] is used as default.||PHP_INI_ALL||Available since PHP 7.1.0|
Here's a short explanation of the configuration directives.
You can enable output buffering for all files by setting this directive to 'On'. If you wish to limit the size of the buffer to a certain size - you can use a maximum number of bytes instead of 'On', as a value for this directive (e.g., output_buffering=4096). This directive is always Off in PHP-CLI.
You can redirect all of the output of your scripts to a function. For example, if you set output_handler to mb_output_handler(), character encoding will be transparently converted to the specified encoding. Setting any output handler automatically turns on output buffering.
Only built-in functions can be used with this directive. For user defined functions, use ob_start().
FALSE by default. Changing this to
TRUE tells PHP to tell the
output layer to flush itself automatically after every output block.
This is equivalent to calling the PHP function
flush() after each and every call to
print or echo and each and
every HTML block.
When using PHP within an web environment, turning
this option on has serious performance implications and is generally
recommended for debugging purposes only. This value defaults to
TRUE when operating under the CLI SAPI.
See also ob_implicit_flush().