php捕获fatal error

用到laravel定时任务的时候,由于类似conf配置问题,无法捕捉到错误,采取的方式如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
function fatal_handler() {
$errfile = "unknown file";
$errstr = "shutdown";
$errno = E_CORE_ERROR;
$errline = 0;
$error = error_get_last();
if($error){
//发送邮件队列也可以
file_put_contents('./testerror11.txt', json_encode($error));
}
}
register_shutdown_function("fatal_handler");
try{
$db=new db();
}catch(Exception $e){
echo $e->error_msg();
}