Přešel jsem na provozování PHP 5 pod Microsoftím IIS 7, namísto Apache. Nejnovější verze Microsoftího IIS7 webového serveru je výrazně výkonově i z pohledu možností konfigurace lepší, než co může nabídnout open-source produkt. IIS7 je zdarma dostupný ve všech instalacích Windows Vista a Windows 2008 Server.
Potřeboval jsem spojit provozování a vývoj ASP.NET a PHP aplikací pod jedním serverem, a to pod Apache prostě nejde. IIS7 má nativní podporu pro provozování PHP aplikací, za pomoci standardního FastCGI modulu. Microsoft zde dokonce spolupracoval se Zendem, samotný FastCGI modul zajišťuje thread-safe prostředí, takže můžete použít rychlejší non-thread safe buildy PHP.
Výsledkem je výrazně výkonnější runtime prostředí pro PHP, než to umí Apache.
Kompatibilita není problém, testoval jsem zatím dva nejnovější rozsáhlé weby, a vše funguje 100% bez jakékoliv úpravy PHP kódu mezi Apache a IIS7.
Jediným problémem, který jsem dříve řešil, byla absence podpory pro .htaccess. IIS7 má nově ovšem vlastní mod_rewrite ekvivalent, nazvaný URL Rewrite Module, dokonce umí importovat .htacces z Apache do vlastních pravidel.
A pokud chcete kompatibilitu bez importu pravidel (tedy nativní podporu pro .htaccess), umí to komerční (cena $99) modul od Heliosu ISAPI_Rewrite3...

Ahoj, na IIS 7 jsem si nainstaloval na konci článku zmíněný Helicon ISAPI Rewrite, s podporou .htaccess jsem naprosto spokojen, nicméně bez problému to funguje pouze v případě, že obsah webu je uložen lokálně (např. c:\inetpub\web1\). V okamžiku, kdy vytvořím web, jehož obsah je na sdíleném síťovém fileserveru (např. \\fileserver\inetpub\web1\), chová se to jako by .htaccess v rootu webu nebyl, tzn. místo rewrite to vrací klasické 404. V dokumentaci jsem k tomu nic nenašel, proto bych se chtěl zeptat, zda někdo podobný problém už řešil. Za radu nebo link vedoucí k popisu řešení předem díky.
Znamená to, že PHP je zde v podstatě 32bitové?