错误报告
/* 猫斯基 wp.www.maosiji.com */ // 注意 getType( $a ); echo '1111111111111111
'; // 1111111111111111 // 警告 getType(); echo '2222222222222222
'; // 2222222222222222 // 错误 getType3(); echo '3333333333333333
';
设置级别
1、在 PHP.ini 里更改,error_reporting = E_ALL。
// 所有的错误提醒,并且除了注意错误 error_reporting = E_ALL & `E_NOTICE
2、在脚本里更改。
error_reporting(E_ALL & `E_NOTICE);
自定义错误报告
/*
猫斯基 wp.www.maosiji.com
*/
// error_reporting(E_ALL & ~E_NOTICE);
// 在php中注册一个函数来处理错误报告,不按原来的方式处理
set_error_handler( "myerror" );
$msg = "";
// 自定义错误报告处理函数
function myerror( $error_type, $error_message, $error_file, $error_line ) {
global $msg;
$msg .= "发生错误级别为 {$error_type} 类型,错误消息:{$error_message},在文件 {$error_file} 中,第 {$error_line} 行。
";
}
// 注意
getType( $a );
echo '1111111111111111
'; // 1111111111111111
// 警告
getType();
echo '2222222222222222
'; // 2222222222222222
// 错误
// getType3();
echo '3333333333333333
';
echo $msg;
/*
1111111111111111
2222222222222222
3333333333333333
发生错误级别为 8 类型,错误消息:Undefined variable: a,在文件 /www/wwwroot/1.www.maosiji.com/phpcode/a.php 中,第 17 行。
发生错误级别为 2 类型,错误消息:gettype() expects exactly 1 parameter, 0 given,在文件 /www/wwwroot/1.www.maosiji.com/phpcode/a.php 中,第 21 行。
*/
记录错误日志
上线的PHP项目,在php.ini中关掉错误报告display_errors = Off,开启错误日志log_errors = On,并开启自定义日志输出error_log = "/www/wwwlogs/a.php.log"。
在脚本里设置/获取php.ini。
ini_set( "display_errors", "off" ); echo ini_get( "display_errors" );