Manuel PHP
Précédent | Annexe E. Débogueur PHP | Suivant

# Protocole du débogueur

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

Précédent | Sommaire | Suivant
Utiliser le débogueur PHP | Niveau supérieur | Options de configuration