http://www.xdebug.org/docs/profiler
Um die Profiling-Features von XDebug zu nutzen sind folgende Schritte auf einem Ubuntu-System erforderlich:
Installieren von XDebug:
sudo apt-get install php5-xdebug
Ermitteln der xdebug.so Datei zum Einbinden:
sudo find / -name 'xdebug.so' 2> /dev/null
Liefert zB folgende Rückgabe:
/usr/lib/php5/20121212/xdebug.so
Diesen Wert in der php.ini als zend_extension-Wert eintragen.
Anpassen der php.ini Datei:
sudo nano /etc/php5/cli/php.ini
(Die Apache-Datei (/etc/php5/apache2/php.ini) kann auch angepasst werden. Für den Entwicklungsserver wird die cli-ini Datei verwendet.)
zend_extension = "/usr/lib/php5/20121212/xdebug.so" xdebug.profiler_enable = 1 xdebug.remote_enable = 1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000
Anmerkung: Die xdebug-Einträge können auch im mods-available-Ordner abgelegt werden und dann über einen Symlink in mods-enabled auf einfach Weise aktiviert werden.
Apache restarten:
sudo service apache2 restart
Webserver starten:
cd /var/www php -S localhost:8080
Die cacheGrind-Dateien (zum Auswerten des Profiling) sind standardmässig im Ordner /tmp abgelegt. Die Files beginnen mit cachegrind.out.
xdebug.profiler_output_dir = "/home/user/cachegrind-files"
Die Ausgabe im cacheGrind-File ist als Textfile nicht sehr aussagekräftig. Mit einem Tool namens KCacheGrind lassen sich schnell Problemfälle identifizieren.
sudo apt-get install kcachegrind graphviz