
Internet Information Server
Internet Information Services is the subject the site was named for, and it is the largest single strand in the archive. The notes filed here run from 2007 to 2013 and cover IIS 6 and IIS 7 in production: migrating sites between them, host headers, FTP, logging, response headers, media streaming, and above all the recurring problem of running PHP applications on a Microsoft web server.
Why this generated so many notes
Two things made IIS unusually note-worthy in this period. The first is that IIS 6 and IIS 7 are
different products wearing the same name. IIS 6 shipped with Windows Server 2003 and stored its
configuration in a binary metabase; IIS 7 arrived with Windows Server 2008 and replaced it with an XML
applicationHost.config, a modular pipeline and a different management console. Almost
nothing about administering one carried over cleanly to the other, and a great deal of 2008-era
writing exists purely to bridge that gap — including the site's own step-by-step account of migrating
websites from IIS 6 to IIS 7, which walked through the deployment tool, the source server and the
destination in turn.
The second is PHP. A large share of the applications administrators were asked to host — forums, blogs, galleries, shopping carts — were written for PHP on Linux, and getting them to run acceptably on Windows was genuinely difficult. The archive documents that arc in order. The early notes deal with PHP as an ISAPI module and its stability problems under load, culminating in installing PHP ISAPI on Windows 2008 IIS 7 x64. The later ones abandon ISAPI entirely for FastCGI, which is what installing PHP 5.3 FastCGI on Windows 2008 IIS 7 covers — and which remains the supported approach. The last post the site ever published on this subject, MySQL connection response slow on Windows 2008 and 2012, is the tail end of the same story: a PHP application on Windows made slow by name resolution rather than by anything in the database.
What has changed since
IIS 6 is long out of support along with Windows Server 2003, so the metabase-era procedures are of historical interest only. IIS itself is still current and its documentation is the right reference for anything being built now. On the PHP side the mechanism the archive settled on is still correct in outline — FastCGI rather than an in-process module — but the builds, the installer and the extension set have all moved on; the PHP manual's Windows installation chapter and the official Windows builds supersede every version-specific instruction in these notes.
The media-streaming material has aged hardest. The note on IIS Media Services web playlists with JW Player depends on Silverlight, which has been discontinued, and on a player generation built around Adobe Flash, also discontinued. It is preserved as a record of how pay-per-view and copyright-sensitive streaming was approached on Windows at the time, not as a workable recipe.
Several notes in this section overlap with other subjects: response-header hardening and the IIS 6 malware-injection post are also filed under Security, Viruses, Trojans, and the PHP and MySQL notes touch Windows and Server as well.
Notes filed under Internet Information Server
Linked titles are restored pages. Plain titles are a record of what was published at that URL; the full corpus is indexed in the complete post archive.
- 18 May 2007 — file_get_contents on IIS 6
- 18 May 2007 — WordPress 2.1.x / 2.2 Breaks PHP 4.4.4
- 6 July 2007 — PHP 5.2.x ISAPI Stability on Windows IIS 6.0
- 6 July 2007 — Unable to Load Dynamic Library php_mysql.dll (MySQL 5.0.41)
- 10 July 2007 — WordPress and PHP on Windows Server IIS 6
- 22 September 2007 — Performance Tips: Disable Logging on Windows Server / IIS
- 24 September 2007 — Microsoft Windows Server 2003 IIS Log File Format Comparison
- 18 March 2008 — JavaScript Spyware Redirect for IIS 6 (Malware)
- 3 July 2008 — How to install PHP ISAPI on Windows 2008 IIS7 x64
- 22 July 2008 — POP3 Protocol Missing in Windows 2008 / IIS7
- 1 September 2008 — Liking IIS Is Bad, You Should Like Linux More
- 7 October 2008 — Migrating websites from IIS6 to IIS7
- 25 October 2008 — Host Headers vs Spam, and how to setup on IIS6 and IIS7
- 11 November 2009 — Remove X-Powered-By: ASP.NET HTTP Response Header
- 21 April 2010 — Unexpected Error 0x8ffe2740 when starting FTP or IIS
- 3 August 2010 — Using IIS Media Services Web Playlists with JW Player
- 14 February 2011 — How to Install PHP 5.3 FastCGI on Windows 2008 IIS 7
- 18 February 2013 — MySQL Connection Response Slow on Windows 2008 / 2012