Zejména v případě používání framework se při psaná nejen webů hodí mít možnost si do kódu přidat „breakpointy“ (místa na kterých se aplikace po spuštění zastaví) a z těchto míst se poté dívat kam kód dál směřuje a jaké hodnoty mají jednotlivé proměnné.
U webových aplikací je to všechno trošku složitější, jelikož potřebujeme nastavit pro podporu debugování taky samotný webové server a tak přináším návod pro kombinaci PHP jakožto modulu Apache serveru a vývojového prostředí PHPStorm.
Budu předpokládat že máte již vyřešeno následující:
- nainstalován webový server Apache včetně PHP, které bude obsahovat rozšíření pro XDebug
- nainstalováno IDE PHPStorm
- používáte prohlížeč Safari – debugování bude ale samozřejmě fungovat i v ostatních prohlížečích, jen se musíte postarat o jiný plugin pro zapnutí Debug módu
Povolení a nastavení modulu XDebug pro PHP
Prvním krokem je zapnutí podpory XDebug v PHP. Já používám balík NAMP, který obsahuje Apache, MySQL a PHP a XDebug je nutné zapnout ručně pomocí úpravy konfiguračního souboru PHP, tedy php.ini. Je ale možné, že budete moci XDebug zapnout mnohem elegantněji, nicméně postup, přes konfigurační soubor je nejuniverzálnější.
Nezapomeňte si ověřit, že editujete správný php.ini a v něm proveďte následující změny:
[xdebug] zend_extension="/Applications/MAMP/bin/php/php5.6.7/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so" xdebug.remote_enable=true xdebug.remote_port=9000 xdebug.idekey="XDEBUG_ECLIPSE"
Poté už stačí jen webový server restartovat a nahrání XDebug modulu si můžete ověřit například pomocí:
<?php phpInfo(); ?>
Ve výpisu byste hned na začátku měli najít nějaký podobný výpis, který obsahuje zapnutý XDebug.
Tím jsme dokončili serverovou část a můžeme se podívat na nastavení samotného IDE.
Nastavení debugování v PhpStorm
Otevřeme si menu PHPStormu a v něm Run -> Edit Configuration a pomocí ikonky + přidáme novou položku „PHP Remote Debug“, kterou si nějak pojmenujeme, např. „XDebug“. Dále budeme muset nastavit server a tzv. IDE key – ten musíme mít pak stejný jak v PHPStormu tak v samotném prohlížeči a na webovém serveru. Jednotlivé nastavení máte na obrázcích níže.
Před samotným debugováním nezapoměňte ještě zapnout listener, který bude poslouchat PHP Debug spojení – najdete v menu Run -> Start Listening for PHP Debug Connection.
Plugin do Safari – XDebug Helper
Poslední částí je pak zapnutí debugování v prohlížeči. Já používám Safari a tak se mi nejvíce hodí plugin XDebug Helper, který má velice jednoduché menu. Pomocí volby Debug pak debugovací mód nastartujete a naopak pomocí Disable vypnete.
A to je vše 🙂