Debugování PHP kódu pomocí Xdebug

 27.2.2014 |  IT |  Petr Loukota

Pátým rokem studuji IT a nikdy jsem nenapsal jediný článek s jakýmkoliv kouskem kódu. To musím napravit. Pojďme se proto podívat, jak snadno a šupem debugovat PHP kód.

Představte si, že vyvíjíte něco hezkého v PHP, třeba nějaké hezké rozšíření pro Nette Framework. Představte si, že vám to vůbec nefunguje, echo vás už nebaví a možnosti ladění v Nette vám nestačí. Chtěli byste ve vašem oblíbeném IDE krokovat. Jde to? Jde. Stačí si zprovoznit Xdebug.

Řekněme, že vašim oblíbeným IDE je NetBeans a používáte xampp. Nejprve vytvořte nějaký PHP soubor, naplňte ho následujícím obsahem a přistupte k němu z prohlížeče. (Všimněte si prosím sofistikovanosti mého historicky prvního uveřejněného kódu.)

<?php
phpinfo();
?>

Zkopírujte veškerý obsah stránky, která se vám zobrazila, a vložte jej sem. Potvrďte. Dále postupujte podle pokynů – stáhněte si danou verzi Xdebug a umístěte ji podle doporučení. Následně v nějakém editoru otevřete soubor php.ini a vložte do něj (třeba na konec) následující (první řádek se může lišit dle skutečného umístění a verze (a pokud už tam je, tak ho musíte nahradit)):

zend_extension = C:\xampp\php\ext\php_xdebug-2.2.3-5.5-vc11.dll
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = on
xdebug.remote_handler = "dbgp"
xdebug.remote_host = localhost
xdebug.remote_port = 9000

Restartujte Apache. V NetBeans si v nastavení projektu nebo v horní části zvolte webový prohlížeč (mně se líbí Embedded), umístěte někam breakpoint a spusťte debugování. Vše by mělo fungovat. Pokud ne, zkuste to vypnout a znovu zapnout, případně chvíli googlit. Chcete-li debugger nastavit (např. vypnout zastavování na prvním řádku kódu), udělat tak můžete v nastavení NetBeans a záložce PHP -> Debugging. A pak už se můžete s chutí pustit do programování. :)

Líbí se vám tento článek? Dejte o něm vědět ostatním

Vaše přátele na sociálních sítích by to mohlo také zajímat.

Přečtěte si, co k článku napsali ostatní

K článku zatím nikdo nepřidal komentář. Buďte první!

Napište mi, jak se vám článek líbil

Váš komentář se zobrazí po schválení.

Přečtěte si, co lidé píší k mým dalším článkům

Simona dne 25.4.2018 k článku Lucembursko a německý Eltz Castle

Ty hrady mě lákají ze všeho nejvíc. Ještě pár článků (a hlavně fotek) a začnu balit kufry. :-)

Marek dne 3.2.2018 k článku Řím – město plné historie, ale i chaosu

Super článek, Řím je opravdu úžasné město. V létě jsem ho navštivil a musím říct, že mě velmi nadchlo. Byli jsme pouze na 3 dny, pak jsme cestovali ještě do Neaopole, ale i za 3 dny se dají zvládnout skoro všechny památky pěšky a ani se moc nenachodíte :). Jinak doporučuji vstupy do památek zakoupit online předem, ať nečekáte zbytečně velké fronty.

Petr Loukota dne 17.8.2017 k článku Lanovkou z městečka Chamonix na Aiguille du Midi – výhled na Mont Blanc

Dobrý den, česky nevím, ale našel jsem alespoň francouzskou výslovnost. :)

Petr Loukota dne 17.8.2017 k článku Jak jsem pohlédl na dno Grand Canyonu

Skvělé, díky moc za super článek! :)

Peter dne 17.8.2017 k článku Jak jsem pohlédl na dno Grand Canyonu

Čítam, že nepoznáte nikoho, kto bol na dne Canyonu, tak pripájam link na článok, ktorý som nedávno napísal. Boli sme v Canyone pred necelými 2 mesiacmi a dal som to dole a späť behom jedného dňa. Takže ak by to niekto chcel skúsiť, tu je pár rád.

svacina.vladimir dne 16.8.2017 k článku Lanovkou z městečka Chamonix na Aiguille du Midi – výhled na Mont Blanc

Dobrý den. Nikde nemohu najít, jak se to správně řekne česky: “Aiguille du Midi.” Děkuji za odpověď. Zdraví, Svačina

Lubod dne 20.7.2017 k článku Lanovkou z městečka Chamonix na Aiguille du Midi – výhled na Mont Blanc

Dakujeme, pomohlo!

Petr Loukota dne 18.7.2017 k článku Lanovkou z městečka Chamonix na Aiguille du Midi – výhled na Mont Blanc

Dobrý den, děkuji za komentář. Lístky na lanovku Aquille du Midi si koupíte až na místě. V sezóně je tam ale mnoho lidí, a právě proto jsem doporučoval udělat si předem rezervaci na konkrétní čas. Za tu se něco málo platí a lze provést zde.