FastCGI Module: Differences across IIS versions

The information in this post is not applicable anymore because the update for FastCGI module in IIS 7.0 has been made available, so now the functionality and features of FastCGI are consistent across all IIS versions. Read the release announcement to get more details about the update.

Recent release of FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 has several new features and improvements that make it easier to run PHP on Windows and IIS. However, all the new features are only available when using Windows XP or Windows Server 2003. FastCGI module on IIS 7.5 in Windows 7 and Windows Server 2008 R2 supports most of these features. FastCGI module on IIS 7 in Windows Vista and Windows Server 2008 does not support those new features yet. The reasons why this happens and the plan for updating FastCGI functionality across all platforms are explained in this post.

FastCGI is supported across 4 different versions of IIS: IIS 5.1/6.0, IIS 7.0 and IIS 7.5. The release models for each of those versions are different:

  • FastCGI Extension for IIS 5.1 and IIS 6.0: This is a separate add-on, which is shipped independently of IIS and Windows OS. IIS team has a lot of control over the release schedule and is able to release updates and fix bugs in the extension relatively fast. Thus the new FastCGI features were first introduces in this extension.
  • FastCGI Module for IIS 7.0: The module is included in IIS and is therefore a part of the already shipped operating system. Updating the OS component, while possible, requires more time as the changes have to go through the standard Windows Servicing process. The update to the IIS 7.0 FastCGI Module that includes all the new FastCGI features is currently in the release stage and will soon be publicly available for download. The update for the IIS 7.0 FastCGI Module has been released.
  • FastCGI Module for IIS 7.5: FastCGI module is included in IIS and is a part of the operating system. However, the development phase for IIS 7.5 coincided with the release of the FastCGI Extension 1.5 thus the majority (but not all) of the new FastCGI features are available in IIS 7.5. The remaining updates to the FastCGI Module for IIS 7.5 will be done in Windows Server 2008 R2 Service Pack.

The following table lists the new FastCGI features and their availability in different versions of IIS:

FeatureIIS 5.1/6.0IIS 7.0 *IIS 7.5
Monitor Changes to Fileyesno YESyes
Real-time tuning of MaxInstancesyesno YESyes
STDERR stream handlingyesno YESyes
Sending termination signal to FastCGI processesyesno YESyes
_FCGI_X_PIPE_ environment variableyesno YESyes
Relaxed enforcement of response headers syntaxyesno YESyes
Per-application FastCGI process poolsyesYESyes
Using UTF-8 encoding for server variable valuesyesno YESno
IIS CPU Limits supportnoYESyes

* – Install the FastCGI update for IIS 7.0 to get all the features listed above.

6 thoughts on “FastCGI Module: Differences across IIS versions”

  1. Hello,
    I have installed FastCGI 1.5, IIS6, Windows 2003 Server and after setting CPU limit on application pool FastCGI doesn’t work and show this error message :

    * Unable to place a FastCGI process in a JobObject. Try disabling the Application Pool CPU Limit feature
    * Error Number: 5 (0x80070005).
    * Error Description: Access is denied.

    Are you sure about support IIS CPU limit on FastCGI 1.5?

  2. Pingback: RuslanY Blog
  3. “Using UTF-8 encoding for server variable values”

    That is a very important feature. Does anyone have an estimate of when a fix will be included so that IIS7.5 supports UTF-8 variable values?

Leave a Reply

Your email address will not be published. Required fields are marked *