RSS Feed for This PostCurrent Article

CGI and PHP on IIS

FastCGI for IIS

FastCGI for IIS enables popular application frameworks that support the FastCGI protocol to be hosted on the IIS web server in a high-performance and reliable way. FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way of interfacing external applications with Web servers that has been supported as part of the IIS feature-set since the very first release.

Make non-thread safe application frameworks run reliably on IIS

By providing a single-threaded execution environment for non-thread safe applications FastCGI greatly improves reliability of such applications on IIS in production environments.

Improve performance of CGI programs

CGI programs are executables launched by the web server for each request in order to process the request and generate dynamic responses that are sent back to the client. CGI has poor performance due to the high cost of starting and shutting down a process for each request. FastCGI addresses the performance issues inherent to CGI by providing a mechanism to reuse a single process over and over again for many requests.

Host multiple versions of application frameworks on the same server

FastCGI has very flexible configuration settings that allow hosting of multiple applications frameworks or different versions of the same application framework on the same IIS server.


  • Setting of per-process environment variables
  • Configurable maximum number of FastCGI processes per application pool
  • Configurable maximum number of requests that FastCGI process can handle before being recycled by FastCGI
  • Configurable idle timeout that can be used to optimize resource utilization on a server
  • Named Pipes and TCP based communication channel between FastCGI handler and FastCGI processes

Windows Cache Extension for PHP

Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications.

Increase PHP application performance on Windows by caching PHP bytecode in memory

Windows Cache Extension for PHP stores the PHP bytecode, the compiled version of the PHP script, in memory making it available when subsequent executions of the same script are needed helping to increase the overall PHP application performance. The use of Windows Cache Extension for PHP allows the PHP bytecode to be generated only once and to be reused each time the same PHP script is executed.

Reduce file system I/O overhead by caching the PHP scripts in memory

Windows Cache Extension for PHP helps to reduce the latency of file operations when PHP scripts are stored on remote UNC file shares. Windows Cache Extension for PHP includes a file system cache that is used to store the content of the PHP script files in shared memory, which reduces the amount of file system operations performed by PHP engine.

Avoid redundant mapping for absolute paths by using relative file path cache

Windows Cache Extension for PHP caches the relation between relative and absolute file paths, reducing the number of relative path resolutions performed by the PHP engine. PHP applications that use many relative paths would perform faster given the conversion to absolute paths is performed only once.


  • PHP 5.2 and PHP 5.3 support
  • Configurable file cache
  • Configurable PHP opcode cache
  • Relative file path cache
  • PHP functions to obtain information about the cache status

Trackback URL

Sorry, comments for this entry are closed at this time.