> ## Documentation Index
> Fetch the complete documentation index at: https://kb.hosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setting the output_buffering directive in an .htaccess file

> Learn how to enable or disable PHP output buffering via .htaccess to control headers and boost site performance.

This article describes how to enable and disable output buffering for PHP scripts by using the **output\_buffering** directive in an *.htaccess* file.

<Warning>
  **Important**

  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](/docs/changing-php-settings-and-versions).

  📘 Note

  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](/docs/custom-htaccess-files-for-php-settings) first.
</Warning>

## 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:

1. Log in to your account [using SSH](/docs/using-ssh-secure-shell).

2. 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
     ```

3. Save the changes to the *.htaccess* file and exit the text editor.

4. 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(); ?>
   ```

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

## More information

* To view a complete list of PHP directives, please visit [http://www.php.net/manual/en/ini.list.php](http://www.php.net/manual/en/ini.list.php).

* For more information about the **output\_buffering** directive, please visit [http://php.net/manual/en/outcontrol.configuration.php](http://php.net/manual/en/outcontrol.configuration.php).

## Related articles

* [Custom .htaccess files for PHP settings](/docs/custom-htaccess-files-for-php-settings)

* [Using PHP directives in custom .htaccess files](/docs/using-php-directives-in-custom-htaccess-files)
