PHP错误报告及设置级别

猫斯基  — PHP


错误报告

/*
	猫斯基 wp.maosiji.com
*/

// 注意
getType( $a );
echo '1111111111111111<br>'; // 1111111111111111

// 警告
getType();
echo '2222222222222222<br>'; // 2222222222222222

// 错误
getType3();
echo '3333333333333333<br>';

设置级别

1、在 php.ini 里更改,error_reporting = E_ALL

// 所有的错误提醒,并且除了注意错误
error_reporting = E_ALL & `E_NOTICE

2、在脚本里更改。

error_reporting(E_ALL & `E_NOTICE);

自定义错误报告

/*
	猫斯基 wp.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} 行。<br>";
}

// 注意
getType( $a );
echo '1111111111111111<br>'; // 1111111111111111

// 警告
getType();
echo '2222222222222222<br>'; // 2222222222222222

// 错误
// getType3();
echo '3333333333333333<br>';


echo $msg;
/*
1111111111111111
2222222222222222
3333333333333333
发生错误级别为 8 类型,错误消息:Undefined variable: a,在文件 /www/wwwroot/1.maosiji.com/phpcode/a.php 中,第 17 行。
发生错误级别为 2 类型,错误消息:gettype() expects exactly 1 parameter, 0 given,在文件 /www/wwwroot/1.maosiji.com/phpcode/a.php 中,第 21 行。
*/

记录错误日志

上线的项目,在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" );

阅读量:0 2021-02-05 17:38

返回顶部