복붙노트

PHP Fatal Error 잡아내기

PHP

PHP 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 "여기는 실행되지 않습니다."; 이 구문은 절대 실행되지 않습니다.