IIS FastCGI and PHP: What you absolutely need to know to host PHP applications on IIS 6 and IIS 7
*************************
UPDATE: NOV 12, 2007: FastCGI RTM for IIS 6.0 / Windows Server 2003 is released on download center.
*************************
Everybody knows that IIS FastCGI is a great way to run PHP applications on IIS.
So, if you are looking to give FastCGI a try, where should you start?
The good news is that we've been making great strides at delivering a solid production experience for hosting PHP on IIS, for both IIS7 on Windows Vista/Windows Server 2008 and IIS6 / IIS5.1 on Windows Server 2003 and Windows XP. This means that with high likelihood you can take advantage of this right away, even if you do not have access to the latest and greatest IIS7 build.
With all the coverage this work has been receiving, its starting to get out of hand. Here is the information you absolutely need to know to get started:
If you run Windows Server 2003:
Download the FastCGI RTM (released 11/12/2007)
Docs at: www.iis.net/fastcgi
My earlier blog post: FastCGI for IIS 6.0 is released on Download Center
If you run Windows XP:
While the FastCGI RTM will work on Windows XP, it is not officially supported due to Microsoft software lifecycle policies. I am bummed about it, but nothing we can do.
However, you should still be able to download and use it for development and testing on your XP machine (until you upgrade to Vista SP1).
If you run Vista:
Download the FastCGI Techical Preview 2 release (released 1/31/2007).
Starting with Vista SP1, and Windows Server 2008, FastCGI is no longer an out of band
download, and is instead included with IIS7. There will be no more out of band FastCGI updates
for Vista.
My earlier blog post: Turbo-charge your PHP applications with IIS FastCGI Technical Preview 2
DOC: Installing PHP with the FastCGI technical preview.
If you run Vista SP1 beta or later:
AND
If you run Windows Server 20058 BETA3, RC0, or later:
FastCGI is built-in!
My earlier blog post: The latest on the FastCGI project and PHP support on IIS
DOC: Using FastCGI to host PHP applications on IIS7.
You also should download and try the latest PHP build available from www.php.net/downloads. Starting with PHP 5.2.1, Zend has worked together with us to significantly improve the performance of the PHP engine itself on Windows, in addition to the platform improvements provided by FastCGI. The current build is 5.2.4.
Be sure to download a non-thread-safe build flavor for use with FastCGI, as this will give you a significant boost over thread-safe builds needed for the PHP ISAPI.
Hopefully this helps make sense of what's available, and gets you on your way. Be sure to come back to the blog for more PHP/FastCGI news/info.
Thanks,
Mike
For the past 5 years, I was the core Program Manager for Microsoft ASP.NET 2.0 and IIS 7.0 products. I drove the design and development of the IIS 7.0 web server core, the IIS FastCGI support, the AppCmd command line tool, the ASP.NET Integrated pipeline, and other special projects around server security, performance, and scalability. Now, I am working on my own on cutting edge web server tech on top of the Microsoft IIS platform, and continue blogging about it here.