捕获fatal error形成报警机制

来源:互联网 发布:网络教育学籍查询 编辑:程序博客网 时间:2024/05/24 04:32

昨天客服发邮件来问,页面出现了大堆的英文,出了啥事了。打开邮件一看,原来是服务器报警没关,把错误显示在页面了,再仔细看,是项目连接一个数据库,而那个数据库所在MySQL服务器连接打满了,以致抛出了个fatal error

解决办法,分两步:

  1. 设置php.ini中的display_error = off,禁止页面显示错误

  2. 在项目中捕获fatal error级别的错误,发送邮件、短信,形成报警机制

register_shutdown_function('cleanup');function cleanup(){    $e = error_get_last();    if ($e['type'] == E_ERROR) {        $str = <<<TYPEOTHER    [message] {$e['message']}    [file] {$e['file']}    [line] {$e['line']}    TYPEOTHER;        // todo 发送邮件、短信    }}
0 0
原创粉丝点击