1. bluehost knowledge base

FastCGI for PHP

FastCGI for PHP makes all your PHP applications persistent. There is no pre-request startup and initialization overhead. This makes possible the development of applications that would otherwise be impractical within the CGI paradigm (e.g. a huge PHP script or an application that requires a connection to one or more databases).

Benefits:

  • PHP scripts will run faster. The PHP interpreter is loaded into memory rather than calling from storage for every hit, having the ability to improve performance of your scripted site.
  • The load on the Server Resources can be lessened with the use of FastCGI. Since the server does not have to load the PHP interpreter for each hit, you will be able to accommodate a higher traffic site without exceeding your CPU quota. We recommend testing your site with and without FastCGI
  • No modifications to your existing code are required for most sites, however, some sites will need code modifications.

Potential Problems:

  • You will only have one php.ini file available for all subdirectories (/home/USERNAME/public_html/php.ini). This is necessary to help optimize the website code as much as possible. If you need multiple php.ini files to accommodate different scripting needs, you can disable FastCGI for PHP on any of your subdirectories while leaving the rest of the account enabled for performance.
  • There can be a few minutes delay in any updates you make to your PHP environment (ie, php.ini changes). Since your php.ini is loaded into memory for greater speed, every hit does not re-read it from storage.

How to Enable PHP FastCGI

  1. Log in to your Bluehost control panel.
  2. Under Programming click PHP Config.
  3. Select the php version (FastCGI)
  4. Click Save Changes.

Alternately, if you prefer to manually edit your .htaccess file:

To enable FastCGI on your account, simply add "AddHandler fcgid-script" and the extension you want into your .htaccess file.

PHP is already configured to work right away.

For other programming languages, you are required to use a dispatch file. (A dispatch file is a file which loads an application into memory. This is included as part of your application. There may be several dispatch files depending on what you want, such as fast-cgi.)

Note: Once you enable fastcgi, your site will only use Bluehost's php.ini settings. If you have a custom php.ini file, it will not be used.