PHP kézikönyv
Előző | 6. Fejezet. Telepítés Windows rendszerekre | Következő

# A kézi telepítés lépései

Ez a fejezet segít a PHP kézi telepítésében és konfigurálásában Microsoft Windows-os webszerverek számára. Ehhez a zippelt bináris disztribuciót kell letölteni a http://www.php.net/downloads.php címről.

A Microsoft Windows-hoz számos telepítőkészlet létezik, és mi is terjesztünk egy PHP telepítőt, mi mégis azt javasoljuk, hogy szándd rá az időt, hogy magad telepítsd a PHP-t, mivel így jobban megérted a rendszert és lehetővé teszi számodra, hogy szükség esetén a PHP kiterjesztések telepítését könnyedén evégezd.

> Egy előző PHP verzió frissítése: A kéziköny korábbi kiadásai azt javasolták, hogy a különböző ini és DLL fájlokat a rendszerkönyvtárba (pl. `C:\WINDOWS`) tedd, és bár ez egyszerűsíti telepítést, a frissítést megnehezíti. Azt tanácsoljuk, távolítsd el ezeket a fájlokat, (mint pl. a Windows rendszermappában található `php.ini` és a PHP-vel kapcsolatoss DLL-ek) mielőtt elkezdenéd az új PHP telepítését. Ne felejtsd el biztonsági másolatot készíteni ezekről arra az esetre, ha tönkretennéd a rendszert. A régi `php.ini` is hasznos lehet az új PHP beállításánál. Hamarosan megtanulod, hogy előnyösebb a PHP-vel kapcsolatos fájlokat egy könyvtárban tartani, és ezt a könyvtárat a PATH-ba beírni.

> MDAC követelmények: Ha Windows 98/NT4-et használsz, töltsd le a Microsoft Data Access Components (MDAC) rendszeredhez tartozó legfirssebb verzióját. Az MDAC letölthető a http://msdn.microsoft.com/data/ címen. Ez azért követelmény, mert a terjesztett Windows binárisokba bele van építve az ODBC támogatás.

Az alábbi lépéseket minden rendszeren végre kell hajtani, a szerver specifikus lépések elvégzése előtt:

Tömörítsd ki a disztribúciós állományt egy általad választott könyvtárba. Ha PHP 4-et telepítesz, a `C:\` könyvtárba tömörítsd ki. A zip fájl egy `php-4.3.7-Win32`-höz hasonló könyvtárba tömörítődik ki. Ha PHP 5-el van dolgod, akkor a `C:\php`-be tömörítsd ki, mivel ebben az esetben más a zip fájl felépítése. Más útvanalat is választhatsz, de ne tartalmazzon szóközt. (mint pl. a `C:\Program Files\PHP`) mivel egyes webszerverek összeomlanak, ha így teszel.

A PHP 4-es és 5-ös verziójának kizippelt könyvtárstruktúrája különbözik:

Példa 6-1. A PHP 4 csomag felépítés
    c:\php
       |
       +--cli
       |  |
       |  |-php.exe           -- CLI program - KIZÁRÓLAG parancssori használatra
       |
       +--dlls                -- segéd DLL-ek néhány kiterjesztés számára
       |  |
       |  |-expat.dll
       |  |
       |  |-fdftk.dll
       |  |
       |  |-...
       |
       +--extensions          -- PHP kiterjesztések DLL-jei
       |  |
       |  |-php_bz2.dll
       |  |
       |  |-php_cpdf.dll
       |  |
       |  |-..
       |
       +--mibs                -- SNMP segédfájlok
       |
       +--openssl             -- Openssl segédfájlok
       |
       +--pdf-related         -- PDF segédfájlok
       |
       +--sapi                -- SAPI (szerver modul támogatás) DLL-ek
       |  |
       |  |-php4apache.dll
       |  |
       |  |-php4apache2.dll
       |  |
       |  |-..
       |
       +--PEAR                -- a PEAR kezdeti másolata
       |
       |
       |-go-pear.bat          -- PEAR telepítő szkript
       |
       |-..
       |
       |-php.exe              -- CGI program
       |
       |-..
       |
       |-php.ini-dist         -- alapértelmezett php.ini beállítások
       |
       |-php.ini-recommended  -- ajánlott php.ini beállítások
       |
       |-php4ts.dll           -- alap PHP DLL
       |
       |-...

Or:

Példa 6-2. A PHP 5 csomag felépítése
    c:\php
       |
       +--dev
       |  |
       |  |-php5ts.lib
       |
       +--ext                 -- PHP kiterjesztés DLL-ek
       |  |
       |  |-php_bz2.dll
       |  |
       |  |-php_cpdf.dll
       |  |
       |  |-..
       |
       +--extras
       |  |
       |  +--mibs             -- SNMP segédfájlok
       |  |
       |  +--openssl          -- Openssl segédfájlok
       |  |
       |  +--pdf-related      -- PDF segédfájlok
       |  |
       |  |-mime.magic
       |
       +--pear                -- a PEAR kezdeti másolata
       |
       |
       |-go-pear.bat          -- PEAR telepítő szkript
       |
       |-fdftk.dll
       |
       |-..
       |
       |-php-cgi.exe          -- CGI program
       |
       |-php-win.exe          -- szkripteket hajt végre parancsablak nélkül
       |
       |-php.exe              -- CLI program - KIZÁRÓLAG parancssori használatra
       |
       |-..
       |
       |-php.ini-dist         -- alapértelmezett php.ini beállítások
       |
       |-php.ini-recommended  -- ajánlott php.ini beállítások
       |
       |-php5activescript.dll
       |
       |-php5apache.dll
       |
       |-php5apache2.dll
       |
       |-..
       |
       |-php5ts.dll           -- alap PHP DLL
       |
       |-...

Figyelj a különbségekre és az egyezőségekre. A PHP 4 és PHP 5 is tartalmaz CGI és CLI programot, és szerver modulokat, de más könyvtárakban vannak és/vagy más nevük van. Míg a PHP 4 szervermoduljai a `sapi` könyvtárban van, a PHP 5-nek nincs ilyen könyvtára, és a PHP könyvtár gyökerében találhatóak meg. A PHP 5 kiterjesztések segéd-DLL-jei szintén nem külön könyvtárban vannak.

> Megjegyzés: PHP 4 esetén minden fájlt, ami a `dll` és a `sapi` könyvtárban van, a főkönyvtárba kell helyezned (pl. `C:\php`).

Itt egy lista a PHP 4-el és PHP 5-el terjesztett szerver modulokról:

- `sapi/php4activescript.dll (php5activescript.dll)` - ActiveScript motor, amely lehetővé teszi PHP beépítése Windows-os alkalmazásokba.

- `sapi/php4apache.dll (php5apache.dll)` - Apache 1.3.x modul.

- `sapi/php4apache2.dll (php5apache2.dll)` - Apache 2.0.x modul.

- `sapi/php4isapi.dll (php5isapi.dll)` - ISAPI modul ISAPI webszerverekhez mint pl. az IIS 4.0/PWS 4.0 vagy újabb.

- `sapi/php4nsapi.dll (php5nsapi.dll)` - Sun/iPlanet/Netscape szervermodul.

- `sapi/php4pi3web.dll (nincs megefelelője PHP 5-ben)` - Pi3Web szervermodul.

A szervermodulok jelentősen nagyobb hatékonyságot és további funkcionalitást biztosítanak a CGI binárisokhoz képest. A CLI verzió arra volt tervezve, hogy a PHP-t paranccsori programozásra használhasd. A CLI-ről a PHP parancssori alkalmazásáról szóló fejezetben tudhatsz meg többet.

Figyelem
A SAPI modulok jelentősen tökeletesítve voltak a 4.1-es kiadásban, viszont a régebbi rendszerekben előfordulhat szerverhiba vagy egyéb szervermodulok hibája, mint pl. ASP.

A CGI és CLI binárisoknak szintén szükségük van a `php4ts.dll` (`php5ts.dll`) szervermodulra. Bizonyosodj meg róla, hogy ez a fájl elérhető a feltelepített PHP-dben. A DLL keresésének sorrendje:

- Az a könyvtár, ahonnan a `php.exe` meg lett hívva, vagy abban az esetben, ha SAPI modulként használod, a webszerver könyvtára (pl. `C:\Program Files\Apache Group\Apache2\bin`).

- Bármilyen könyvtár, amely a Windows PATH környezeti változóban szerepel.

A `php4ts.dll` / `php5ts.dll` fájlok elérhetővé tételéhez három változat közül kell választanod: másold be a Window rendszerkönyvtárába, másold be a webszerver könyvtárába, vagy a PHP könyvtáradat (`C:\php`) add hozzá a PATH-hoz. A könnyebb kezelhetőség érdekében, mi az utóbbi változatot használjuk, mert így a jövőben könnyebb lesz frissíteni a PHP-t. A PHP könyvtár PATH-hoz adásáról a megfelelő FAQ-ban olvashatsz.

A következő lépés egy érvényes könfigurációs fájl (`php.ini`) létrehozása. Két ini fájl található meg a terjesztett zip fájlban, a `php.ini-dist` és a `php.ini-recommended`. Azt tanácsoljuk, hogy használd a `php.ini-recommended` fájlt, mert ebben a fájlban a beállításokat a hatékonyság és biztonság növelése érdekében állítottuk be. Ezt a jól dokumentált fájlt figyelmesen olvasd, mert a `php.ini-dist` fájlhoz viszonyított változások erőteljesen befolyásolhatják a PHP működését. Néhány példa: a display_errors értéke off valamint a magic_quotes_gpc értéke off. Azon felül, hogy ezeket elolvasod, tanulmányozd az ini beállításokat és minden opciót magad állíts be. Ha a legnagyobb biztonságot szeretnéd elérni, ezt kell tenned, bár a PHP egész jól működik az alapbeállításokkal is. Másold be a kívánt ini fájlt egy olyan könyvtárba, ahol a PHP képes azt megtalálni, és persze nevezd át `php.ini`-re. A PHP a `php.ini`-t a A konfigurációs állomány 9 fejezet részben ismertett könyvtárakban keresi.

Ha Apache 2-t használsz, a legegyszerűbb módszer a PHPIniDir direktíva használata. (olvasd el a Telepítés Apache 2 rendszerre című oldalt), egyébként pedig a PHPRC környezeti változó a legjobb változás. Ez a folyamat az alábbi FAQ bejegyzésben van leírva.

> Megjegyzés: Ha NTFS-t használsz Windows NT, 2000, XP vagy 2003-on, bizonyosodj meg arról, hogy a webszervert futtató felhasználónak van joga a `php.ini` olvasásához (pl. tedd olvashatóvá mindenki számára).

A következő lépések elhagyhatóak:

- Szerkeszd az új `php.ini` fájlodat. Ha tervezed, az OmniHTTPd használatát, ne kövesd a következő lépést. Állítsd be a doc_root-ot úgy, hogy a webszervered document_root-jára mutasson. Például:

      doc_root = c:\inetpub\wwwroot // IIS/PWS esetén

      doc_root = c:\apache\htdocs   // Apache esetén

- Válaszd ki azokat a kiterjeszéseket, amelyeket a PHP indulásakor szeretnél betölteni. Olvasd el a Kiterjesztések telepítése Windows-on című részt, hogy megtudd, hogy állíts be egyet, és hogy mely kiterjesztések vannak beépítve. Ajánlatos előbb az újonnan telepített PHP-t kipróbálni mielőtt még a `php.ini`-ben aktiválnád a kiterjesztéseket.

- PWS és IIS szervereken beállíthatod a browscap konfigurációs beállítást, hogy a Windows 9x/Me esetén a `c:\windows\system\inetsrv\browscap.ini`, NT/2000 esetén a `c:\winnt\system32\inetsrv\browscap.ini` XP esetén pedig a `c:\windows\system32\inetsrv\browscap.ini` fájlra mutasson. Egy naprakész `browscap.ini` megszezéséért olvasd el a következő FAQ-t.

A PHP most telepítve van a rendszereden. A következő lépésbe válassz egy webszervert, és vedd rá a PHP futtatására. Válassz egy webszervert a tartalomjegyzékből.

Előző | Tartalom | Következő
Telepítés Windows rendszerekre | Fel | ActiveScript