JanKoWeb: Tvorba webu - PHP: profilování a analýza náročnosti skriptu pomocí XDebug

PHP: profilování a analýza náročnosti skriptu pomocí XDebug

Stažení a instalace Xdebug

Na stránce http://www.xdebug.org/wizard.php stačí vložit výpis z funkce phpinfo(); a odeslat. Průvodce sám analyzuje cesty a napíše Vám, kam máte stažený soubor uložit a co změnit v php.ini:

 

Průvodce instalací Xdebug
Průvodce instalací Xdebug

 

Průvodce instalací - instrukce
Průvodce instalací - instrukce

Pro povolení profileru musíte ještě v php.ini přidat řádek (pokud tam již není):



xdebug.profiler_enable = 1
xdebug.profiler_output_dir=d:/Server/xdebugOutput 
xdebug.profiler_output_name=cachegrind.out.%s

(cestu k profiler_output si můžete zvolit vlastní, musíte ho ale ručně vytvořit - mně se alespoň sám nevytvořil a dlouho jsem se divil, proč Webgrind nevidí žádné logy).

Po restartu serveru a spuštění Vašeho skriptu se již automaticky vytvoří log soubor. Zjistit, kde se nachází log soubor daného skriptu, můžete zavoláním funkce:





xdebug_get_profiler_filename();  

která vrátí řetězec s názvem souboru.

Webgrind - zobrazení log souboru v prohlížeči

Protože log soubor je psaný pro počítač, není pro člověka příliš přehledný. Naštěstí existují nástroje jako http://code.google.com/p/webgrind/ - stačí stáhnout, umístit na server a pomocí index.php můžete prohlížet Vaše uložené logy z Xdebug (nutno nastavit cestu k profiler_output - viz výše - v config.php).

 

Webgrind
Webgrind
Potíž pak nastala, když jsem neviděl ve Webgrindu žádné soubory, ani po stisku Update. Dle I cannot see the profiles listed in the dropdown of webgrind jsem změnil v config.php cesty na relativní, restartoval server a už to běží.
Rubrika Tvorba webu | So 10.08.2013 | 2566x

Náhodné články

Tento web jsem zakládal na střední, v roce 2008. Je zde hlavně archiv mé tvorby.

Aktuální věci publikuji kvůli úspoře času na Twitter.

Honza

"Naděje je stav ducha, který dává smysl našemu životu."

V. Havel