And available for download

Jan 25, 2010 11:34 GMT  ·  By

Customers running versions 6 and 5.1 of Internet Information Services (IIS) web servers will now be able to better accommodate application frameworks that support the FastCGI protocol. Microsoft has recently announced that FastCGI Extension 1.5 for IIS 5.1 and IIS 6.0 has been finalized and released to web. Designed as a replacement for FastCGI Extension 1.0, FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 brings to the table various improvements and new features. According to Ruslan Yakushev, a program manager on the Microsoft IIS team in charge of FastCGI and PHP support, FastCGI Extension 1.5 is not only production ready but also officially supported by Microsoft.

“If you already have FastCGI v1.0, v1.5 Beta or v1.5 RC installed, then the installation package will upgrade it to version 1.5 – RTW. All the related IIS configuration and settings in fcgiext.ini file will be preserved during upgrade. Note that during upgrade from v1.0 the comments in fcgiext.ini will not be updated and will not mention new configuration settings. However the new settings can still be used after upgrade,” Yakushev said.

There are two flavors of the FastCGI Extension 1.5 for Internet Information Services 6.0 and 5.1, for 32-bit (x86) and 64-bit (x64) architectures. The promise from Microsoft is that the new extension will increase both the performance and reliability of PHP, but also additional FastCGI application frameworks. Yakushev enumerated the new features of FastCGI Extension 1.5:

“•Monitor changes to a file. The extension can be configured to listen for file change notifications on a specific file and when that file changes, the extension will recycle FastCGI processes for the process pool. This feature can be used to recycle PHP processes when changes to php.ini file occur.

•Real-time tuning of MaxInstances setting. This MaxInstances setting dictates the maximum number of FastCGI processes which can be launched for each application pool. If it is set to 0 then FastCGI extension will automatically adjust the number of instances up or down every few seconds based on the system load and number of requests waiting in the queue.

•STDERR stream handling. There are several options of how the extension can handle text sent by FastCGI application on STDERR. The extension can send the error data as a failure response to the HTTP client or it can ignore the error and send whatever was received on STDOUT as a response with 200 status code.

•Sending a termination signal to FastCGI processes. The extension can be configured to send a termination signal to FastCGI process before terminating it. This enables FastCGI processes to do a clean shutdown before getting killed.

•_FCGI_X_PIPE_ environment variable. This variable is set by FastCGI extension and it contains the name of the named pipe that is used for communication between the extension and FastCGI process.

•Relaxed enforcement of response headers syntax. The FastCGI extension has less strict enforcements for the correctness of the response headers.

•Per-application FastCGI process pools. In previous version of the extension, the FastCGI process pools could be defined for the entire IIS server or per IIS site. In FastCGI 1.5 it is also possible to define FastCGI process pool per IIS application, which allows to have two different PHP version used for different applications within the same web site.

•Using UTF-8 encoding for server variable values. By default FastCGI uses ASCII encoding when setting server variables. If a FastCGI application requires UTF-8 encoded values for certain server variables, the extension can be configured to use UTF-8 only for required server variables.

•More descriptive error messages are used when configuration in fcgiext.ini is incorrect

•Changes in default values for configuration settings. MaxInstances is now set to 0, so that real-time tuning of MaxInstances is enabled by default. ActivityTimeout is set to 70 seconds.”

FastCGI Extension 1.5 for Internet Information Services (IIS) 6.0 and 5.1 is available for download here.