How to set the output_buffering directive in an .htaccess file
This article describes how to enable and disable output buffering for PHP scripts by using the output_buffering directive in an .htaccess 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 .htaccess
file. If you have not already set up a custom .htaccess
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 set the output_buffering directive, follow these steps:
- Log in to your account using SSH.
- Use a text editor to edit the .htaccess file:
- To enable output buffering and limit the buffer to a specific size, add the following line. Replace x with the maximum number of bytes you want to use for the output buffer:
php_value output_buffering x
To disable output buffering, modify the line as follows:
php_value output_buffering Off
- Save the changes to the .htaccess file and exit the text editor.
- To verify that the new setting is active, create a PHP test file that contains the following code in the same directory where the .htaccess file is located:
<?php phpinfo(); ?>
- Load the test file in your web browser, and then search for the name of the directive. The Local Value column should display the new setting that you specified in the .htaccess file.