让php出错的时候发送邮件

这里要用到两个东西set_error_handler和error_log

前者用于注册一个出错事件,当出错的时候干嘛,后者主要用于“干嘛”

前者参数为errno 错误号,或者说错误类型

errstr 错误信息

errfile 文件

errline 错误地址

errcontext 详细错误数组

后者参数

message 想记录的信息

message_type 错误类型0,表示记录到php系统日志,1,表示记录到邮箱地址,3、写道文件,4,写到SAPI日志处理程序。

destination 这个需要前面一个参数才能决定写啥

extra_headers 这个在message_type是1的时候用

 

function error_handler($number, $message, $file, $line, $vars){
  $email = "
        <p>An error ($number) occurred on line
        <strong>$line</strong> and in the <strong>file: $file.</strong>
        <p> $message </p>";
    $email .= "<pre>" . print_r($vars, 1) . "</pre>";
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
    $headers .= "From: ylx123456@gmail.com" . "\r\n" ;
    error_log($email, 1, '277901680@qq.com', $headers);
    if ( ($number !== E_NOTICE) && ($number < 2048) ) {
      die("There was an error. Please try again later.");
    }
}
set_error_handler('error_handler');
echo $avarthatdoesnotexist;

本文固定链接: http://www.qaforcode.net/archives/723 | 猪哥每日一贴

该日志由 趴在树上的猪 于2013年02月03日发表在 php 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 让php出错的时候发送邮件 | 猪哥每日一贴
关键字:

让php出错的时候发送邮件:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter

浙公网安备 33010602001905号