Protocolul debugger-ului
Protocolul debugger-ului din PHP 3 este orientat pe rânduri. Fiecare rând are un tip, iar câteva rânduri alcătuiesc un mesaj. Fiecare mesaj începe cu un rând de tipul start şi termină cu un rând de tipul end. PHP 3 poate trimite rânduri pentru diferite mesaje simultan.
Un rând are următorul format:
data ora server(pid) tip: datele-mesajului
- data
- Data în formatul ISO 8601 (yyyy-mm-dd)
- ora
- Ora, incluzând microsecundele: hh:mm:uuuuuu
- server
- Numele DNS sau adresa IP a serverului unde eroarea scriptului a fost generată.
- pid
- PID (identificatorul procesului) de pe server al procesului cu scriptul PHP 3, care a generat eroarea.
- tip
-
Tipul rândului. Înştiinţează programul ce recepţionează datele despre modul în care acesta trebuie să trateze datele ce vor urma:
Tipul rândurilor debugger-ului Denumirea Semnificaţia start Înştiinţează programul de recepţionare că un mesaj al debugger-ului începe aici. Conţinutul datele-mesajului va fi tipul mesajului de eroare din lista ce urmează. message Mesajul de eroare al PHP 3. location Numele fişierului şi numărul rândului unde a avut loc eroarea. Primul rând cu location întotdeauna va conţine rândul de nivel superior. datele vor conţine fişier:rând. Întotdeauna va fi o linie cu location după message şi după fiecare function. frames Numărul de cadre în dump-ul stivei ce urmează. Dacă sunt patru cadre, aşteptaţi-vă la informaţii despre patru nivele ale funcţiilor apelate. Dacă nici un rând "frames" nu e afişat, se presupune că adâncimea este 0 (eroarea a avut loc la nivelul superior). function Denumirea funcţiei unde a avut loc eroarea. Va fi repetată câte o dată pentru fiecare nivel din stiva funcţiilor apelate. end Înştiinţează programul de recepţie că mesajul debugger-ului se sfârşeşte aici. - datele
- Datele rândului.
În debugger | În interiorul PHP 3 |
---|---|
În debugger | În interiorul PHP 3 |
warning | E_WARNING |
error | E_ERROR |
parse | E_PARSE |
notice | E_NOTICE |
core-error | E_CORE_ERROR |
core-warning | E_CORE_WARNING |
unknown | (toate celelalte) |
Example#1 Exemplu al unui mesaj al debugger-ului
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