2010. április 17., szombat

PHP fejlesztés Eclipse-el, XAMPP-al és XDebug-al

Bár alapvetően Java párti vagyok, weblapfejlesztések esetén mindig vissza-vissza tér a PHP. Nehéz tőle szabadulni, hisz ez a webhosting szolgáltatók által leginkább támogatott rendszer, és olyan pozitív tulajdonságokkal rendelkezik, mint pl. a futási idő maximalizálása (Java esetén máig nem találtam értelmes megoldást arra, hogy mondjuk egy esetleges végtelen ciklus esetén kiüssem az aktuálisan futó szálat). Ezzel szemben a Java típusos nyelv, és nagyon kellemesen lehet benne debug-olni, amit annyira megkönnyíti az ember dolgát, hogy e nélkül már nem is menne a fejlesztés. A legnagyobb gondom a PHP-vel tulajdonképpen pont ez utóbbi feature hiánya volt. Többször nekiestem már a probléma megoldásának, de általában feladtam, mert mindig valami gigszer csúszott a dologba. Ma úgy döntöttem, bepróbálkozok még egyszer, és végre sikerrel jártam. Sikerült egy nagyon kellemes PHP fejlesztőkörnyezetet összelőnöm XAMPP, Eclipse és XDebug segítségével. Remélem ez a kis írás sokaknak segít, hogy hozzám hasonlóan kényelmes, debugolható (!) fejlesztőkörnyezetet állítsanak össze.

A dolog első lépése a XAMPP letöltése. A XAMPP egy összecsomagolt mini fejlesztőeszköz, ami minden szükséges összetevőt tartalmaz egy LAMP fejlesztéshez. Van benne Apache, MySQL, PHP, PhpMyAdmin, és mindez pöccre összelőve. Csak el kell indítgatni a szolgáltatásokat, és már írhatjuk is a PHP kódot. Mindenkinek csak ajánlani tudom, ennél jobb fejlesztőkörnyezettel Windows-ra még nem találkoztam. Az alap igényeket a XAMPP Lite is kielégíti, de érdemes a teljes XAMPP-ot letölteni, hiszen az tartalmazza az xdebug-ot.

Ha megvan a XAMPP, a következő lépés az XDebug konfigurálása. Ehhez kicsit módosítani kell a XAMPP-ban található php.ini-t. Az XDebug-hoz szükséges sorok bent vannak, csak ki kell szedni a komment jeleket, és átírni a paramétereket. A következő beállítások kellenek az XDebug bekapcsolásához (persze az elérési utak az adott XAMPP installációnak megfelelően legyenek megadva):

zend_extension = "D:\progs\xampp\php\ext\php_xdebug.dll"

zend_extension_ts="D:\progs\xampp\php\ext\php_xdebug.dll"

xdebug.remote_enable = 1

xdebug.remote_handler = "dbgp"

xdebug.remote_host = "localhost"

xdebug.remote_port = 9000

Ha mindent jól csináltunk, akkor az apache újraindítása után a phpinfo-ban megtaláljuk az xdebug-ra vonatkozó részeket. Maga a debuger úgy működik, hogy ha a php értelmező a webszervertől ?XDEBUG_SESSION_START=...&KEY=... paramétereket kap, megpróbál kapcsolódni a 9000-es portra, és ezen keresztül teszi lehetővé a program futásának követését. Többfajta kliens is létezik, de a legjobb az Eclipse fejlesztőrendszerbe épített változat, hiszen az Eclipse fejlesztőkörnyezetnek sem utolsó. Ehhez töltsük le az Eclipse PHP-hez kialakított változatát az http://eclipse.org/downloads/ címről. Ez eclipse telepítése után indításkor válasszuk workspace-nek a XAMPP htdocs könyvtárát, így sok későbbi problémától kímélhetjük meg magunkat. Ezt követően a Window/Preferences/PHP/Debug részben válasszuk ki az XDebug-ot. Tulajdonképpen ennyi az egész. Innentől kezdve ha valamelyik php fájlra jobb gombot nyomunk, és kiválasztjuk a Debug As.../Web page opciót, a debugger elindul, és használhatjuk a jól bevált eszközöket. Brakepointokat helyezhetünk el, watch-olhatjuk a változókat, stb. A dolog gyönyörűen működik, és végre elfelejthetjük a var_dump-okkal teletűzdelt PHP kódokat.

1 megjegyzés:

  1. az Xdebug installálásnál elakadtam. A leírás mindenhol majdnem megegyezik, és a lépéseket megtettem, de mégsem installálódik az Xdebug.

    Winxp-m van, Xamp 1.7.3 verzió, megpróbáltam letölteni másik Xdebug fájlt, de a probléma továbbra is fennáll,

    nagyon megköszönök minden ötletet, mi lehet a baj,

    Kriszta

    VálaszTörlés