본문 바로가기
IT/web

[PHP] php error 메시지 출력 방법

by 어느해겨울 2021. 12. 31.

php error 메시지 출력 방법

 

php 같은 interpreter 언어들은 페이지의 호출과 동시에 해석을 시작하기 때문에 디버깅이 무척 어렵다.

특히 php는 server side 언어라서 모든 처리가 끝난 후 결과만 브라우저에 현시되기 때문에 왜 오류가 나는지, 어디서 오류가 나는지. 오류로 인해 화면이 백지로 나오는 경우도 다반사다.

 

그럴때는 브라우저에서 오류를 확인하기 위해 다음과 같은 코드를 php 페이지 가장 상단에 삽입하자.

<?php
	error_reporting(E_ALL);
	ini_set("display_errors", true);
?>

자세한 내용은 다음 URL에서 확인할 수 있지만 예제 제공되는 함수와 옵션들을 보겠다.

https://www.php.net/manual/en/function.error-reporting.php

 

PHP: error_reporting - Manual

I always code with E_ALL set.After a couple of pages of I made this function to make things a little bit quicker.  Unset values passed by reference won't trigger a notice.

www.php.net

 

<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
error_reporting(E_ALL & ~E_NOTICE);

// Report all PHP errors
error_reporting(E_ALL);

// Report all PHP errors
error_reporting(-1);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>

 

위의 오류 출력 함수를 이용한 예제를 보겠다.

예제

<?php
    error_reporting(E_ALL);
    ini_set("display_errors", true);

    $mesg = "https://muabow.tistory.com";
    echo $mes;  // 변수명 오류
?>

결과

오류를 확인할 수 있다.

 

php 디버깅에 도움이 되었으면 한다.

 

끝.

 

 

댓글