如何捕获CI反馈的错误信息,并将其存储到数据库中?
本帖最后由 1137716847 于 2017-10-24 11:01 编辑如何捕获CI反馈的错误信息(包含致命错误),并将其存储到数据库中?
用了一个比较笨的方法解决了 本帖最后由 1137716847 于 2017-10-24 14:25 编辑
在system\core\Common.php的第620行加入
<?php
require_once APPPATH . 'hooks/AnomalyCapture.php';
(new AnomalyCapture())->capture(array(
'type' => $severity,
'message' => $message,
'file' => $filepath,
'line' => $line,
) , $is_error);
?>
屏蔽掉第640行的exit(1)
在 application\hooks 中新建AnomalyCapture.php
<?php
class AnomalyCapture{
function capture($last_error , $is_error = false){
if( ! isset($last_error)) return false;
$CI = CI_Controller::get_instance();
if($CI == NULL){
require_once BASEPATH.'core/Controller.php';
$CI = new CI_Controller;
$CI = CI_Controller::get_instance();
}
$CI->load->model('Admin_user_model');
$CI->Admin_user_model->test();
if($is_error) exit(1);
}
}
?>
这个确实可以通过添加hooks解决,但不建议修改核心代码。原来见过相应的代码,现在找不到了。回头有空我再找一下。{:1_1:}
页:
[1]