How to enable and disable the PHP output_buffering directive
This article describes how to enable and disable the output_buffering directive in a custom php.ini file.
The information in this article only applies to certain types of hosting accounts. To determine whether or not the information below applies to your account, please see this article
This article assumes that you have already set up a custom php.ini
file on your web site. If you have not already set up a custom php.ini
file, please read this article
Using the output_buffering directive
By default, when PHP processes a script, it sends output to the client in multiple chunks until script processing is complete. You can change this behavior and set PHP to buffer output during script processing instead.
When output buffering is enabled, PHP sends all of the output to the client only after script processing is complete. There are two main reasons why you may want to do this:
- Output buffering enables you to send headers to the client after PHP has started processing a script.
- Output buffering may improve site performance.
To enable output buffering, use a text editor to modify the output_buffering directive in the php.ini file as follows:
output_buffering = on
Alternatively, to enable output buffering and limit the buffer to a specific size, use a numeric value instead of on. For example, to set the maximum size of the output buffer to 16384 bytes, modify the output_buffering directive in the php.ini file as follows:
output_buffering = 16384
To disable output buffering, modify the output_buffering directive in the php.ini file as follows :
output_buffering = off
To verify the current value of the output_buffering
directive and other directives, you can use the phpinfo()
function. For more information about how to do this, please see this article
- Custom php.ini files
You can use php.ini files to customize a wide range of PHP settings for your web site. Learn how here.
- Using php.ini directives
The directives in php.ini files allow you to control many settings for your web site. For example, you can control error logging, specify time zone information, and more.