php.ini中配置错误信息

error_reporting = E_ALL; //设置向php报告发生的错误类型
display_errors = off; //设置错误是否显示在客户端
log_errors = on; //开启日志记录
error_log = 'error.log'; //错误日志记录文件

代码设置:
error_reporting(E_ALL);
error_reporting(E_ALL & ~E_NOTTICE);//屏蔽notice错误
error_reporting(E_ALL ^ ~E_NOTTICE);//屏蔽notice错误
error_reporting(0);//全部关闭

更多:http://php.net/manual/zh/errorfunc.constants.php

自定义处理
set_error_handler() 函数向系统声明错误处理函数
使用trigger_error() 函数,可以触发一个error

/**
 * [error_handler description]
 * @param  [type] $errorno int [错误类型]
 * @param  [type] $errmsg  string [错误信息]
 * @param  [type] $errfile [description]
 * @param  [type] $errline [description]
 * @return [type]          [description]
 */
function error_handler($errorno,$errmsg,$errfile,$errline)
{
    switch ($errorno) {
        case E_ERROR:
            echo '致命错误类型是:【' .$errorno. '】
'; echo '致命错误信息是:【' .$errmsg. '】
'; echo '致命错误文件是:【' .$errfile. '】
'; echo '致命错误所在行是:【' .$errline. '】
'; break; case E_NOTICE: echo '通知错误类型是:【' .$errorno. '】
'; echo '通知错误信息是:【' .$errmsg. '】
'; echo '通知错误文件是:【' .$errfile. '】
'; echo '通知错误所在行是:【' .$errline. '】
'; break; case E_WARNING: echo '警告错误类型是:【' .$errorno. '】
'; echo '警告错误信息是:【' .$errmsg. '】
'; echo '警告错误文件是:【' .$errfile. '】
'; echo '警告错误所在行是:【' .$errline. '】
'; break; default: echo '错误类型是:【' .$errorno. '】
'; echo '错误信息是:【' .$errmsg. '】
'; echo '错误文件是:【' .$errfile. '】
'; echo '错误所在行是:【' .$errline. '】
'; break; } } set_error_handler('error_handler');//此方法错误 echo $t; echo '
'; echo 2/0; echo '
'; new A(); /* 通知错误类型是:【8】 通知错误信息是:【Undefined variable: t】 通知错误文件是:【D:\Web\test\18-11-13\01.php】 通知错误所在行是:【49】 ------------------------------------------------------------ 警告错误类型是:【2】 警告错误信息是:【Division by zero】 警告错误文件是:【D:\Web\test\18-11-13\01.php】 警告错误所在行是:【51】 INF ------------------------------------------------------------ Fatal error: Uncaught Error: Class 'A' not found in D:\Web\test\18-11-13\01.php:53 Stack trace: #0 {main} thrown in D:\Web\test\18-11-13\01.php on line 53 */

你可能感兴趣的:(php.ini中配置错误信息)