Share via


PHP on IIS 7.0: Enhance Your Apps with the Integrated ASP.NET Pipeline -- MSDN Magazine, January 2008

As you might be aware, Microsoft release the FastCGI connector for PHP last fall, and it's creating quite a stir.  Mike Volodarsky wrote an article for MSDN magazine that talks about what benefits IIS 7.0 provides to PHP apps:

... IIS had always supported PHP, but in a way that precluded many real-life PHP applications from being hosted in production environments. This was due to limitations in the two ways IIS offered for running PHP applications: using the Common Gateway Interface (CGI) protocol or using the PHP ISAPI extension.

Because CGI requires a separate process for each request, apps hosted using CGI would perform poorly on Windows. Conversely, PHP apps using the IIS high-performance multithreaded ISAPI interface would often suffer from instability due to the lack of thread safety in some popular PHP extensions.

In an attempt to solve these problems, the IIS team developed the FastCGI component. The open FastCGI protocol allows PHP and many other application frameworks that require a single-threaded environment (including Ruby on Rails, Perl, and Python) to run more reliably on IIS. Unlike the standard CGI implementation, FastCGI enables process reuse by maintaining a pool of worker processes, each processing no more than one request at a time, thus resulting in much-improved performance. FastCGI also benefited from a community-centric development and testing model.

The article presents an interesting intersection of PHP and IIS 7.0, and how IIS can bring some serious benefits to those applications. Catch the whole article on the MSDN Magazine site: IIS 7.0: Enhance Your Apps with the Integrated ASP.NET Pipeline -- MSDN Magazine, January 2008 .