The PHP 3 debugger protocol is line-based. Each line has a
type, and several lines compose a
message. Each message starts with a line of
the type start
and terminates with a line of
the type end
. PHP 3 may send lines for different
messages simultaneously.
A line has this format:
date
-
Date in ISO 8601 format
(
yyyy
-mm
-dd
)
time
- Time including microseconds:
hh
:mm
:uuuuuu
host
-
DNS name or IP address of the host where the script error was
generated.
pid
-
PID (process id) on
host
of the
process with the PHP 3 script that generated this error.
type
-
Type of line. Tells the receiving program about what it
should treat the following data as:
Table G.1. Debugger Line Types
Name |
Meaning |
start |
Tells the receiving program that a debugger message
starts here. The contents of
data will be the type of error
message, listed below.
|
message |
The PHP 3 error message. |
location |
File name and line number where the error occurred. The
first location line will always
contain the top-level location.
data will contain
file :line .
There will always be a location line
after message and after every
function .
|
frames
|
Number of frames
in the following stack dump. If there are four frames,
expect information about four levels of called functions.
If no "frames" line is given, the depth should be assumed
to be 0 (the error occurred at top-level).
|
function
|
Name of function where the error occurred. Will be
repeated once for every level in the function call
stack.
|
end |
Tells the receiving program that a debugger message ends
here.
|
data
- Line data.
Table G.2. Debugger Error Types
Debugger |
PHP 3 Internal |
warning |
E_WARNING |
error |
E_ERROR |
parse |
E_PARSE |
notice |
E_NOTICE |
core-error |
E_CORE_ERROR |
core-warning |
E_CORE_WARNING |
unknown |
(any other) |
Example G.1. Example Debugger Message
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