Pour déboguer du code PHP, on peut utiliser XDebug, à installer par apt-get install php5-xdebug.

Il faut le configurer dans le fichier /etc/php5/conf.d/xdebug.ini :
; Active le debug 
xdebug.auto_trace=On

; Dans le repertoire /tmp
xdebug.trace_output_dir=/tmp

; Affiche pour chaque traitement de fonction la charge memoire par rapport a la
; ligne de debug precedente
xdebug.show_mem_delta=On

; Affiche les parametres avec leurs valeurs pour chaque fonction
xdebug.collect_params=3

; Affiche la valeur du code de retour pour chaque fonction
xdebug.collect_return=On
; Le fichier de log s'appelle trace.1010979674.xt
; %c : CRC, %p for the process id, %r for a random number, %u for a timstamp with 
; microseconds, %H the $_SERVER['HTTP_HOST'], %R the $_SERVER['REQUEST_URI']
xdebug.trace_output_name=trace.%c

Cette configuration trace les appels à fonctions avec les paramètres passés et les codes de retour. Cela affiche aussi le volume de mémoire occupé.

Exemple de code de sortie :
TRACE START [2008-12-20 16:07:37]
    0.0002     106600  +106600   -> {main}() /home/fournier/test.php:0
    0.0003     106832     +232     -> f1(10) /home/fournier/test.php:11
                                   >=> 9
    0.0003     107160     +328     -> f1(9) /home/fournier/test.php:11
                                   >=> 8
    0.0003     107160       +0     -> f1(8) /home/fournier/test.php:11
                                   >=> 7
    0.0004     107160       +0     -> f1(7) /home/fournier/test.php:11
                                   >=> 6
    0.0004     107160       +0     -> f1(6) /home/fournier/test.php:11
                                   >=> 5
    0.0004     107160       +0     -> f1(5) /home/fournier/test.php:11
                                   >=> 4
    0.0005     107160       +0     -> f1(4) /home/fournier/test.php:11
                                   >=> 3
    0.0005     107160       +0     -> f1(3) /home/fournier/test.php:11
                                   >=> 2
    0.0005     107160       +0     -> f1(2) /home/fournier/test.php:11
                                   >=> 1
    0.0005     107160       +0     -> f1(1) /home/fournier/test.php:11
                                   >=> 0
    0.0005     107160       +0     -> f1(0) /home/fournier/test.php:11
    0.0006      56352
TRACE END   [2008-12-20 16:07:37]