Suppression de cette page qui a été mergé dans HowtoPHP#xdebug
This commit is contained in:
parent
beec79fe10
commit
d564ca7486
|
@ -1,52 +0,0 @@
|
|||
---
|
||||
categories: web
|
||||
title: Howto Xdebug
|
||||
...
|
||||
|
||||
* Documentation : <https://xdebug.org/docs/>
|
||||
|
||||
[Xdebug](https://xdebug.org/) est un débogueur PHP.
|
||||
|
||||
# Howto xdebug
|
||||
|
||||
~~~
|
||||
# aptitude install php5-xdebug
|
||||
~~~
|
||||
|
||||
Pour l'activer, dans _/etc/php5/conf.d/xdebug.ini_ :
|
||||
|
||||
~~~
|
||||
zend_extension=/usr/lib/php5/20090626/xdebug.so
|
||||
;xdebug.auto_trace=On
|
||||
;xdebug.profiler_enable=1
|
||||
xdebug.profiler_output_dir=/home/xdebug
|
||||
xdebug.trace_output_dir=/home/xdebug
|
||||
~~~
|
||||
|
||||
Pour activer dans un vhost Apache :
|
||||
|
||||
~~~
|
||||
php_admin_value xdebug.profiler_enable 1
|
||||
~~~
|
||||
|
||||
Attention, bien mettre le bon chemin de l'extension zend (dépend de votre version PHP) et les droits sur le répertoire _/home/xdebug_. Notez qu'il peut se remplir très vite une fois activé !
|
||||
|
||||
On obtient des fichiers _trace.XXX.xt_ et _cachegrind.out.XXXX_
|
||||
|
||||
Le fichier xt est une trace de tout les appels aux fonctions PHP du code préfixé par le temps d'exécution. Idéal pour trouver une fonction anormalement longue.
|
||||
La seconde colonne contient l'empreinte mémoire, idéal aussi pour répérer une fonction qui utilise trop de mémoire.
|
||||
|
||||
Le fichier _cachegrind_ peuvent être lus avec l'outil kcachegrind (pour Linux) ou wincachegrind (sous Windows), cela permet de schématiser les appels aux fonctions PHP et de voir le temps passé en % et le nombre d'appels.
|
||||
Voici un exemple :
|
||||
|
||||
![Ici, 30% du temps est passé dans php::uasort, appelé par Mage_Core_Model_Layout->getOutput.](/call141f0.png)
|
||||
|
||||
## Webgrind
|
||||
|
||||
Webgrind en PHP permet de faire comme kcachegrind mais via un navigateur.
|
||||
|
||||
~~~
|
||||
$ git clone <https://github.com/jokkedk/webgrind.git>
|
||||
~~~
|
||||
|
||||
Puis dans le fichier de configuration config.php on mettre profilerDir à /home/xdebug. Il faut aussi installer le package graphviz et mettre dotExecutable à /usr/bin/dot si on veut profiter du graphique « call graph ».
|
Loading…
Reference in New Issue