> php教程 > PHP源码 > 监控日志,发现500 503 等错误发送邮件提示

监控日志,发现500 503 等错误发送邮件提示

PHP中文网
풀어 주다: 2016-05-25 17:03:41
원래의
1067명이 탐색했습니다.

php代码

<?php
include("PHPMailer/class.phpmailer.php");
//error_reporting(0);
$mail             = new PHPMailer();
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPDebug  = 1;                     // enables SMTP debug information (for testing)
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "smtp.126.com"; // sets the SMTP server
$mail->Port       = 25;                    // set the SMTP port for the GMAIL server
$mail->Username   = "xxx@126.com"; // SMTP account username 邮箱用户名
$mail->Password   = "xxxxxxxxx";        // SMTP account password 密码
$mail->SetFrom(&#39;xxxxxxx@126.com&#39;, &#39;报错&#39;);//


$now = "u_ex".date("ymdH").".log";

try{
    $log = file("F:/iis-log/W3SVC2/".$now);//日志路径自己改
}catch(Exception $e){
    echo "no file ";
    exit;
 }

$error = array();
$start = date("i",time()-120);
$end = date("i");
if($start > $end){
    exit;
}
$aa = range($start,$end);
$code = mkstr($aa);
echo $code;
$pattern = "/($code).*(\s500\s|\s503\s)/";//这里自己修改
$i = 0;
foreach($log as $k => $v){
    if(preg_match($pattern,$v)){
        $error[] =  $v;
		echo $v;
		$i += 1;
    }
}
if(!empty($error)){
	$content = implode("<br/>",$error);
	$mail->Subject="$i errors ";
	$mail->AddAddress("xxxxxxxxxx@163.com");
	$mail->AddAddress("xxxxxxxx@126.com");
	$mail->MsgHTML($content);
	$mail->send();
}
echo "\nover";
function mkstr($arr){
    $code = &#39;&#39;;
    foreach($arr as $k => $e){
        $code .="\:$e\:|";
    }
    $code = rtrim($code,"|");
    return $code;
}
로그인 후 복사
관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿