Ubuntu a konfigurace XDebug pro Eclipse PDT 2.0
Jeden ze čtenářů mého blogu mě poprosil o radu, tak jsem si řekl co se hodí jednomu, může pomoci více lidem.
Pokud máte Ubuntu (KUbuntu, Linux Mint) nebo jiného příbuzného ubuntu provedu vás instalací Eclipse s PDT a konfiguraci XDebug.
Instalace
1. Eclipse můžete nainstalovat z repozitory, ale PDT tam není a proto tento postup nedoporučuji. Lepší je stáhnout si verzi PDT 2.0 All In Ones.
2. Samozřejmě předpokládám, že máte nainstalovaný apache2 a php5 z repozitory. Pro xdebug nezapomeňte nainstalovat php5-xdebug balíček.
3. Jako další krok, než začnu konfigurovat Eclipse, vytvořím kopii php.ini pro XDebug, kam se přidá na konec.
[xdebug]
zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so
Konfigurace
4. Pokud je toto připraveno stačí nakonfigurovat XDebug v Eclipse.
5. otevřeme nastavení: Window -> Preferences
6. pod PHP si najdeme PHP Servers a nastavíme si ho na workspace Eclipse. Já osobně mám vytvořený v Apache virtual host, který je pojmenovaný workspace a vede jeho document root na /home/user/workspace/ kde pracuji s Eclipse.

7. v PHP Executables si nastavím cesty k php a k modifikovanému php.ini pro XDebug.

8. V záložce PHP -> Debug potom musíte mít zapnuté nakonfigurované služby, ale dají se přepínat i přes debug konfiguraci.

9. V menu Run -> Debug Configurations je dobré zkontrolovat, zda pro daný soubor odpovídá nastavení, také pokud se při debugu objeví nějaká chyba je dobré se v první řadě podívat sem a zkontrolovat zda se nepouští třeba jiný debugger, který nemáte nastavený apod.

10. Můžete začít debugovat, např. Run -> Debug as -> PHP Script. Na obrázku je vidět debug jednoduchého skriptu v akci.

Závěr
Rozšíření XDebug umí také profiling, pomocí KCacheGrind nebo WinCacheGrind a také analýzu pokrytí kódu. Doufám, že někomu návod pomůže, pokud máte jakékoliv připomínky nebo dotazy k tématu neváhejte se v komentářích vyjádřit.
Pro instalaci PDT je potřeba mít naistalováné JDK nebo JRE. Naistalovat je z repozitáře?
Načtení Xdebug se dá pod Ubuntu udělat i jednodušeji. Ve složce, kde je php.ini (/etc/php5/apache2 nebo /etc/php5/cgi), je také složka „conf.d“. V této složce je samostatný konfigurační soubor pro xdebug. Stačí ho tedy otevřít a patřičně upravit.
@Dundee
U mě v distribuci tam je právě jen tento jediný řádek, který se přidává do php.ini. Pokud pracuji s dalšími nastaveními při debugu jako je profiling, tak používám na práci s ini stejnou metodu jako KOMODO IDE a to vlatní konfigurace.
@mardon
já mám openjdk-6-jdk z repozitory a funguje to bez problémů
Ahoj, zacinam prave s Eclipse PDT a mel bych jeden dotaz na obrazku „EDIT SERVER“ je zalozka „Path Mapping“ chtel jsem se zeptat k cemu to je dobre a jako to pouzivat.
Nikdy jsem to nepoužil, ale předpokládám, že to funguje jako alias v Apache. Nastavíš si, že nějaká cesta na serveru example.com/aplikace1 odpovídá cestě na filesystému nebo ve workspace.
ahoj, diky za nasmerovani…, mel bych jeste jeden dotaz trochu slozitejsi snazim se najit pokud mozno co nejlepsi reseni pro praci s projektem v eclipse, ale bohuzel nejak narazim vzdy na nejake omezeni. Nedavnou jsem zkousel reseni viz.http://groups.drupal.org/node/2663#comment-23334
nechci zakladat projekt tak ze napriklad z drupalovske instalace udelam jeden velky projekt, jen proto, abych pak mohl pracovat s xdebugem. Navic chtel bych verzovat jen jeden modul a ne cely drupal.
Uvedene reseni v odkazu bylo idealni jen jeste zprovoznit ten xdebug. Bohuzel kdyz je jako projekt jen konkretni modul tak vazne zase pouziti toho xdebugu, jelikoz je nutne zpoustet debugovani pres index.php v koreni instalace drupalu.
Budu rad kdyz by jste mi poradil jak na to, pripadne jine reseni …