Knowledge Base

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 first.

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.

More Information