IIS7 wykorzystuje fastCGi do obsługi PHP. Powoduje to, że PHP na IIS7 jest ok 10x szybsze niż na IIS6. Dodatkowo można zainstalować IIS7 na serwerze Core, co też powinno zwiększyć wydajność.
A jak zainstalować PHP na IIS7, żeby korzystal z fastCGI? Ja zrobilem tak:
- Zainstalowałem rolę web Server, wybierając jako feature CGI i Management tools and scripts.
- Zessałem php not-thread-safe z strony php i rozpakowałem do katalogu C:\php.
- Zmieniłem nazwę pliku php.ini-dist na php.ini
- Wyedytowałem plik php.ini i zmieniłem extension_dir na extension_dir = "c:\php\ext"
- Odpaliłem konsolkę i przeszedłem do katalogu %windir%/system32/inetsrv
- Wykonałem dwa magiczne polecenia mapujące PHP na FastCGI
appcmd set config /section:system.webServer/fastCGI /+[fullPath='c:\php\php-cgi.exe']
appcmd set config /section:system.webServer/handlers "/+[name='PHP-FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='c:\php\php-cgi.exe',resourceType='Either']"
- W IIS Manager w sekcji IIS w opcji Default Documents dopisałem index.php
- Stworzyłem plik info.php o zawartości
<?php phpinfo() ?>
i przekopiowałem go do katalogu c:\inetpub\wwwroot
- Odpaliłem przeglądarkę i wszedłem na stronę http://localhost/info.php
- Działa.