PHP 3 调试器协议以行为单位。每一行有一个类型(type),某几行组成一个消息(message)。每一个消息起始于包含类型 start 的一行,并终止于包含类型 end 的一行。PHP 3 可以同时发送不同的消息行。
行的格式如下:
date 使用 ISO 8601 格式:yyyy-mm-dd。
time 精确到毫秒:hh:mm:uuuuuu。
产生错误的 PHP 脚本所在主机的 DNS 名或 IP 地址。
产生错误的 PHP 脚本在 host 中的 PID。
行的类型。它告诉接收信息的程序如何处理下面的数据:
表格 E-1. 调试器行类型
名称 | 含义 |
---|---|
start | 告诉接收的程序,调试信息由此开始。data 的内容将会是错误消息的类型,在本页面下方列出。 |
message | PHP 3 错误消息。 |
location | 发生错误的文件名和行号。location 的第一行总是包含顶级(top-level)地址。data 包含 file:line。在 message 和每一个 function 之后总有一行 location 行。 |
frames | 在下面的堆栈卸出中所包含的帧数。如果有四帧,则应该有四层函数调用的信息。如果没有给出“frames”这一行,则深度被假定为 0(错误发生在最顶层)。 |
function | 发生错误的函数。在调用函数堆栈的每级只重复一次。 |
end | 告诉接收的程序,除错信息到此结束。 |
每行的数据。
表格 E-2. 调试器错误类型
调试器 | 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 | (其它任何错误) |