PHP Fatal Error 잡아내기
PHPPHP Fatal Error 잡아내기
PHP에서는 Fatal Error 는 try catch문으로 잡을 수 없습니다.
따라서 아래와 같이 써 주어야 합니다.
function shutDownFunction() {
$error = error_get_last();
// fatal error일 경우 E_ERROR === 1 이 됩니다.
if ($error['type'] === E_ERROR) {
$errfile = $error["file"]; //오류 파일명
$errline = $error["line"]; // 오류 줄 번호
$errstr = $error["message"]; // 오류 메세지
// 여기서 이메일을 보내던가 해서 오류를 체크하세요.
}
}
register_shutdown_function('shutDownFunction');
주의하실 점은 try catch 와는 다르게 fatal error 는 shutDownFunction이 끝나고 나면 다시 원래의 흐름으로 돌아갈 수 없습니다.
즉
register_shutdown_function('shutDownFunction');
// 에러 구문
$a = 가 + 나;
echo "여기는 실행되지 않습니다.";
여기서 echo "여기는 실행되지 않습니다.";
이 구문은 절대 실행되지 않습니다.
'PHP' 카테고리의 다른 글
PHP 문자열이 특정 글자로 시작하는지 체크하는 함수 (0) | 2017.11.23 |
---|---|
PHP 문자열 포함하는지 체크하는 함수 (0) | 2017.11.22 |
PHP 숏태그 사용하기 (0) | 2017.11.21 |
PHP XSS 방지 (0) | 2017.11.21 |
PHP 다차원 배열 1차원으로 변환하기 (0) | 2017.11.20 |