IIS6, PHP FastCGI, Windows Server
A minap kellett egy PHP alkalmazáshoz szerver. Mivel az egyik Windows Server 2003 kiszolgálón már amúgy is telepítve volt az IIS, ezért úgy gondoltam, hogy az IIS 6 alá rakom fel a PHP futtatókörnyezetet.
Jelenleg Windowson, IIS-el a PHP három módban futha: CGI, FastCGI és ISAPI.
- CGI
- Minden kérésnél új process (folyamat) indul el
- könnyen konfigurálható
- lassú I/O
- a sok process elindítása, leállítása rengeteg erőforrást köt le
- ISAPI
- Egy process töltődik csak be
- jobb teljesítményt nyújt a CGI-nél
- csak Thread-Safe PHP alkalmazások futtathatóak vele
- FastCGI
- CGI továbbgondolása, hogy a meglévő processzeket is felhasználhassa
- könnyű beállítani
- stabilabb mint az ISAPI megoldás
- nincs Thread-Safe PHP megkötés
Mivel a futtatandó kód nem igazán Thread-Safe kompatibilis (ennek megnyilvánulása, hogy kifagy a php), ezért optimális választásnak maradt a FastCGI.
Ha még nincs, akkor telepítsünk egy IIS kiszolgálót. Megtehetjük akár a Windows Server Kezelővel (Manage Your Server) is, vagy a Windows összetevők hozzáadásánál.
Ezután telepíteni kell a FastCGI támogatás IIS6 oldali részét (IIS7 már beépítve tartalmazza ezt). Ehhez le kell töltenünk a telepítőt a Microsoft oldaláról ezen a linken. fcgisetup32.msi fájl 32 bites rendszerhez, míg a fcgisetup64.msi 64 bites rendszerhez kell.
A telepítése egyszerű, csak végig kell nyomkodni, Next-Next-Finish módszerrel, valamint a második lépésben el kell fogadni a licenc szerződést.
Ezután le kell töltenünk a legutolsó PHP telepítőjét. Jelenleg az 5.2.9 a stabil széria, ebből is az 5.2.9-1 a legutolsó verzió. A php-5.2.9-1-win32-installer.msi fájlt letöltéséhez kattintsunk a linkre. A legfrissebb telepítőt amúgy a php.net oldalain találjuk meg.
A PHP telepítése is egyszerű. A második lépésben el kell fogadni a licenc szerződést, majd a harmadik lépésben a telepítés helyét kell beállítani. Én ennek a C:PHP5 mappát adtam meg.
A következő lépésben kell kiválasztani, hogy milyen szerverhez milyen módszerrel szeretnénk a PHP-t beállítani.
Itt az IIS FastCGI módszert válasszuk.
A következő lépésnél lehet kiválasztani a szükséges PHP modulokat. Én a következőket szoktam telepíteni:
- bzip2
- Curl
- EXIF
- GD2
- Gettext
- IMAP
- LDAP (csak ha kell LDAP támogatás)
- Mycript
- MySQL
- MySQLi (MySQL adatbázis eléréséhez)
- XML-RPC
- zip
Ha kész a telepítés, ellenőrizzük le az IIS-ben, hogy megfelelően települt és beállítódott a modul. Indítsuk el a Felügyeleti eszközökből az IIS Managert, majd menjünk a Web Service Extensions részbe, és itt látnunk kell az engedélyezett FastCGI handlert.
A PHP telepítő felvette automatikusan a PHP kiterjesztésű fájlokat mint végrehajtható fájlok. Ha valamelyik oldalon nem szeretnénk engedélyezni a PHP futtatását, akkor a website tulajdonságainál töröljük ki a php végrehajtót.