<?php
#调试函数小结
// 1.debug_backtrace():函数生成一个backtrace。
// 该函数返回一个关联数组。下面是可能返回的元素
// function:返回当前的函数名
// line:当前的行数
// file:当前的文件名
// class:当前的类名
// object:当前对象
// type:当前的调用类型,可能的调用:
// 返回->,方法的调用
// 返回::,静态方法调用
// 返回nothing,函数调用
// args:数组,如果在函数中,列出函数参数。如果在被应用的文件中,列出被引用的文件名
echo '<hr>1.debug_backtrace():<br>';
function myfun($arg){
print_r(debug_backtrace());
}
myfun('hello');
// 2.debug_print_backtrace():函数输出backtrace
echo '<hr>2.debug_print_backtrace():<br>';
function myfun1($arg){
print_r(debug_print_backtrace());
}
myfun1('hello');
// 3.error_get_last():函数获取最后发生的错误
// 函数以数组的形式返回最后发生的错误,数组中包含4个键和值,分别是:
// type:错误类型
// message:错误消息
// file:发生错误所在的文件
// line:发生错误 所在的行
echo '<hr>3.error_get_last():<br>';
/*error_reporting(0);
echo $test;
print_r(error_get_last());*/
// 4.error_log(error,type,destination,headers)函数返回向服务器错误记录、文件或远程目标发送一个错误。
// 若成功则返回true,否则返回false
// error:必须。要记录的错误消息
// type:可选,,分别是:
// 0-默认。根据在php.ini文件中的error_log配置,错误被送到服务器日志系统或文件
// 1-错误被发送到destination参数中的地址。只有该类型使用headers
// 2-通过php debugging连接来发送错误。选项只在php3中可用
// 3-错误发送到文件目标字符串
// destination:可选。规定向何处发送错误消息。该参数的值依赖于‘type’参数的值
// headers:可选,只在type为1时使用
echo '<hr>4.error_log():<br>';
//5.error_reporting(report_level):设置php的报错界别并返回当前的级别
//report_level,可选值
// 1或E_ERROR:脚本运行时遇到的致命性错误
// 2或E_WARNING:非致命性运行错误
// 4或E_PARSE:编译时解析错误
// 8或E_NOTICE:运行时通知,脚本发现的一个可能或是正常运行一个脚本时发生的错误
// 16或E_CORE_ERROR:php内核级别错误
// 32或E_CORE_WARNING:php内核级别的警告
// 64或E_COMPILE_ERROR:指明编译错误
// 128或E_COMPILE_WARNING:非致命性编译错误
// 任意数目的以上选项都可以用"或"来连接(用OR或|),这样可以报告所有需要的各级别错误
echo '<hr>5.error_reporting(report_level):<br>';
//禁用错误报告
error_reporting(0);
//报告运行时错误
error_reporting(E_ERROR|E_WARNING|E_PARSE);
//报告所有错误
error_reporting(E_ALL);
?>