Debugger Protocol

Het debugger protocol is regel-gebaseerd. Elke regel bestaat uit een type, en meerdere regels vormen een bericht. Elke bericht begint met een regel van het type start and eindigs met een regel van het type end. PHP kan regels voor verschillende berichten tegelijkertijd sturen.

Elke regel heeft het volgende formaat:


      date time
      host(pid)
      type:
      message-data
     

date

Datum in het ISO 8601 formaat (yyyy-mm-dd)

time

Tijd inclusief microseconden: hh:mm:uuuuuu

host

DNS naam of IP adres van de host waarop het script errors genereerd.

pid

PID (process id) op de host van het proces dat het PHP script dat de fout genereerde veroorzaakte.

type

Regeltype. Dit vertelt het ontvangende programma over wat er komen gaat:

Tabel G-1. Debugger Regel Types

NaamBeschrijving
start Vertelt het ontvangende programma dat het debugger bericht hier begint. De inhoud van de data hangt samen met het type van het fout bericht die hieronder zijn weergegeven.
messageHet foutbericht van PHP.
location Bestandsnaam en regelnummer waar de fout optrad. De eerste location regel bevat altijd de top-level locatie. data bevat bestand:regel. Er is altijd een location regel na een message en na elke function.
framesHet aantal frames in de te volgen stack dump. Als er vier frame zijn, verwacht dan informatie over vier levels van aangeroepen functies. Als er geen "frames" regel is gegeven, dan trad de fout op level 0 (de fout trad op op top-level).
function Naam van de functie waar de fout optrad. Deze regel is voor elk level in de functie aanroep stack herhaald.
end Vertel het ontvangende programma dat het debugger bericht hier eindigd.

data

Regel gegevens.

Tabel G-2. Fout typen van de debugger

DebuggerPHP Internal
warningE_WARNING
errorE_ERROR
parseE_PARSE
noticeE_NOTICE
core-errorE_CORE_ERROR
core-warningE_CORE_WARNING
unknown(elk ander)

Voorbeeld G-1. Voorbeeld debugger bericht


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