Doctrine II. - Telepítés
Webmester - 2011. 05. 19. 10:21

Ahogy az előző írásomban említettem, a Doctrine beüzemelése közben szerzett tapasztalatokról számolnék be. A cím kicsit csalóka, igazán telepíteni semmit nem kell, de azért van néhány szükséges teendőnk.

Miután letöltöttük a Doctrine-t (például innen: http://www.doctrine-project.org/projects/orm/download), nincs más dolgunk mint kicsomagolni a projektünk mappájába, ahova szeretnénk. Elvileg a „telepítés” ennyi. De ha elkezdjük csinálni a „Getting Started” tutorialt, hamar kiderül, hogy van még néhány teendőnk. (Itt jegyezném meg, hogy Windows-t futtató gépen dolgozok, tehát Linux alatt nem egészen így kell ezeket a lépéseket végrehajtani.)

Ezek közül az első a Cache-elés megoldása. A dokumentációban az Apc-t ajánlják, de használhatjuk még a Memcache-t vagy az Xcache-t is. Nekem egyik se volt a gépen, így végeztem egy gyors keresést az Apc-re. Jött is a dokumentáció a php.net oldalról, minden szép és jó. Lenne. Ugyanis a Winows-os DLL jelenleg nem elérhető. Egy újabb keresés jött, mivel nem volt kedvem nekem buildelni a forrásból a DLL-t. Hamar meg is találtam az alábbi, szerintem mindenki számára hasznos linket: http://downloads.php.net/pierre/. Itt minden DLL-t megtalálhatunk amire szükségünk lehet, természetesen itt van az Apc is. Ha már itt vagyunk, kicsit előre szaladok, töltsük le a php_http extension-t is, erre is szükségünk lesz, ha még nincs meg. Érdemes figyelni arra, hogy a megfelelő verziót töltsük le, ahhoz a PHP verzióhoz, amit futtatunk. Nekem ugyan volt php_http.dll-em, de nem a megfelelő verzió.

Ha megvannak a DLL-jeink, akkor ezeket gyorsan bemásoljuk a telepített PHP könyvtár alatt az ext mappába, és hozzáadjuk az alábbi két sort a php.ini-ben a Dynamic Extension részhez:
extension = php_apc.dll
extension = php_http.dll

majd újra indítjuk a webszerverünk, és már kész is. Ellenőrizhetjük, hogy mindkét extension jó - e, ha futtatnunk egy phpinfo(); hívást. (Részletesebb Apc telepítési útmutató: http://docs.moodle.org/en/Installing_APC_in_Windows.)

A cache-elés kérdése le is van tudva. Haladhatunk tovább a tutorialban. Ekkor érkezünk a "Generating the Database Schema" című részhez, ahol a Doctrine parancssori eszközét kéne használni. Ehhez azonban szükségünk van egy cli-config.php fájlra a projekt könyvtárunkban. A tutorialban van ennek egy egyszerű verziója amit használhatunk.

Mikor ezek után megpróbáltam elindítani az parancssori eszközt, az következő hibaüzenet fogadott:
"The procedure entry point php_set_error_handling could not be located in the dynamic link library php5ts.dll".
Újfent kerestem egyet. Ekkor jöttem rá, hogy a php_http extension-öm nem működött, mert rossz verzió volt a DLL-ből a gépen. A keresés közben azonban találtam még egy hasznos oldalt: http://phphints.wordpress.com/2010/10/28/cli-config-php-for-doctrine-2-command-line-tool/.
Itt a cli-config.php egy tartalmasabb verziója található, érdemes lehet belenézni.

Ezek után már gond nélkül futott a konzolos alkalmazás.

Remélem hasznosnak bizonyulnak a tapasztalataim. A kérdéseket szívesen fogadom komment vagy email formájában, ha tudok örömmel segítek.

Címkék: PHP Doctrine