Le protocole de débugage PHP 3 fonctionne ligne par ligne.
Chaque ligne a un type type et
plusieurs lignes composent un message
Chaque message commence avec une ligne du type start et se
termine avec une ligne de type end. PHP peut envoyer des
lignes de plusieurs messages simultanément.
Voici un exemple de ligne à ce format :
- date
Les dates sont au format ISO 8601
(yyyy-mm-dd)
- time
Les heures, y compris les micro-secondes:
hh:mm:uuuuuu
- host
Le nom DNS ou adresse IP de l'hôte qui a généré
l'erreur.
- pid
PID (process id) sur l'hôte host, qui a
généré l'erreur.
- type
Type de la ligne. Indique au programme client comment traiter les
données suivantes :
Tableau D-1. Types des lignes du Débuggeur
Nom | Signification |
---|
start |
Indique au programme client que le message du débuggeur
commence ici. Le contenu de data sera un type
d'erreur, comme listé ci-dessous.
|
message | Le message d'erreur PHP 3. |
location |
Nom du fichier et numéro de ligne, où l'erreur est
survenue. La première occurrence de location
contiendra toujours la localisation générale.
data contiendra :
file:line.
Il y a toujours une indication de location
après un message et après chaque
function.
|
frames |
Nombre de frames dans le dump de la pile. S'il y a 4 frames, attendez
vous à des informations sur 4 niveaux de fonctions. Si la ligne
"frame" n'existe pas, la profondeur doit être 0 (une erreur
est survenue au niveau général).
|
function |
Nom de la fonction qui a généré l'erreur. Elle sera
répétée à chaque niveau de la pile d'appel.
|
end |
Indique au client que le message du débuggeur se termine ici.
|
- data
Ligne de données.
Tableau D-2. Types d'erreur du débuggeur
Débuggeur | Interne PHP 3 |
---|
alerte (warning) | E_WARNING |
erreur | E_ERROR |
analyse (parse) | E_PARSE |
note (notice) | E_NOTICE |
core-error | E_CORE_ERROR |
core-warning | E_CORE_WARNING |
inconnue | (toutes les autres) |
Exemple D-1. Exemple de message du débuggeur
1998-04-05 23:27:400966 lucifer.guardian.no(20481) start: notice
1998-04-05 23:27:400966 lucifer.guardian.no(20481) message: Uninitialized variable
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: (NULL):7
1998-04-05 23:27:400966 lucifer.guardian.no(20481) frames: 1
1998-04-05 23:27:400966 lucifer.guardian.no(20481) function: display
1998-04-05 23:27:400966 lucifer.guardian.no(20481) location: /home/ssb/public_html/test.php3:10
1998-04-05 23:27:400966 lucifer.guardian.no(20481) end: notice
|