register_shutdown_function( "fatal_handler" ); //在脚本执行完成或者exit后调用
set_error_handler("error_handler");
define('E_FATAL_initcaoffer', E_ERROR | E_USER_ERROR | E_CORE_ERROR |
E_COMPILE_ERROR | E_RECOVERABLE_ERROR| E_PARSE );
//获取fatal error
function fatal_handler() {
$error = error_get_last();
if($error && ($error["type"]===($error["type"] & E_FATAL_initcaoffer))) {
$errno = $error["type"];
$errfile = $error["file"];
$errline = $error["line"];
$errstr = $error["message"];
error_handler($errno,$errstr,$errfile,$errline);
}
}
//获取所有的error
function error_handler($errno,$errstr,$errfile,$errline){
$str=<<<EOF
"errno":$errno
"errstr":$errstr
"errfile":$errfile
"errline":$errline
EOF;
//获取到错误可以自己处理,比如记Log、报警等等
file_put_contents ( APPLICATION_PATH . '/../data/log/___ChannelAdvisor_logerror'.date('Y-m-d').'.txt', $str."||" .date('Y-m-d H:i:s'),FILE_APPEND );
}
php 生成致命错误的日志方法
最新推荐文章于 2021-04-01 06:15:20 发布