Le protocole de débogage 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 ayant ce format :
Exemple E-1. exemple de ligne au format de débogage date time host(pid) type: message-data |
|
- 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 E-1. Types des lignes du Débogueur
| Nom | Signification |
|---|
| start |
Indique au programme client que le message du débogueur
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ébogueur se termine ici.
|
- data
Ligne de données.
Tableau E-2. Types d'erreurs du débogueur
| Débogueur | 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 E-2. Exemple de message du débogueur 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 |
|