테스트 사이트 - 개발 중인 베타 버전입니다

Error 또는 Warning 발생시 메일로 받기

common.php 제일 상단에 넣으시면 되는데

일반 사용자의 화면에 나오는 워닝과 에러는 숨겨야 하니
같이 포함해서 작성하시면 더 좋으실듯합니다.

단, 에러가 나와도 무관한것들도 있으니
큰 문제라고 생각이 들지 않으신다면
그냥 넘기셔도 되지 않을까 싶습니다.

<?php
ini_set("display_errors", "0"); // 오류를 화면에 출력하지 않음
ini_set('ignore_repeated_errors', 1); // 반복되는 중복 에러는 무시
ini_set('ignore_repeated_source', 1); // 반복되는 중복 소스는 무시
ini_set('html_errors', 0); // 에러를 HTML형식으로 안나타나게

error_reporting(E_ALL & ~(E_STRICT|E_NOTICE|E_WARNING));

// 여기서 부터 에러나 워닝 발생시 해당 작성자 메일로 발송합니다.
function bengi_error_handler($errnum, $message, $file, $line, $vars)
{
$msg = "<p>Error ($number) line : <strong>$line</strong>
<br />
<strong>file: $file.</strong>
<br />
<p> $message </p>";
$headers = 'Content-type: text/html; charset=utf-8'."";
if( $errnum <= 2 ) { // <------ 이부분을 1 로 바꾸시면 Error 만 받습니다..저는 1로 사용중
error_log(msg, 1, '여기에 수신을 원하는 메일주소 삽입', $headers);
}
}
set_error_handler('bengi_error_handler');

~~~~~~~~~
~~~~~~~~~
기존소스코드
~~~~~~~~~
~~~~~~~~~
~~~~~~~~~



----------------[ 참고사항 ]----------------

번호는 아래와 같습니다.

2047 => 'E_ALL',
1024 => 'E_USER_NOTICE',
512 => 'E_USER_WARNING',
256 => 'E_USER_ERROR',
128 => 'E_COMPILE_WARNING',
64 => 'E_COMPILE_ERROR',
32 => 'E_CORE_WARNING',
16 => 'E_CORE_ERROR',
8 => 'E_NOTICE',
4 => 'E_PARSE',
2 => 'E_WARNING',
1 => 'E_ERROR'



(*) 도움이 되셨다면 추천 부탁 드립니다....

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

오 감사합니다.
멋진 팁 이네요. 감사합니다.

게시글 목록

번호 제목
34706
34693
34563
34536
34521
34480
34479
34466
34437
34436
34435
34406
34398
34387
34382
34375
34364
34336
34294
34293