상세 컨텐츠

본문 제목

php디버깅, php에러출력 ... error_reporting 함수 / php error / php오류

IT공부방/PHP

by 동해둘리 2019. 9. 18. 09:44

본문

반응형

PHP를 이용하여 웹사이트를 개발시,  예상했던 결과가 나타나지 않고 오류가 발생했는데 아무런 에러메시지가 표시되지 않는 경우가 있습니다. 

 

php디버깅 php에러출력

 

예를 들어 다음과 같이 코딩을 하고 실행을 시키면, define 에서 정의한 상수는 NAME 인데, constant 에서는 정의되지 않은 상수인 AGE 를 출력하려 하기 때문에 오류가 발생하게 되지만, 화면에는 아무런 에러메시지도 표시되지 않게됩니다. (물론, php.ini 에서 에러가 출력되도록 세팅했을 경우라면 출력되기도 합니다)

 

php디버깅

 

 

이때, 다음과 같이 설정하면

 

php error_reporting 함수

 

화면에는 아래와 같은 에러메시지가 출력되게 됩니다.

 

php디버깅 php에러출력

 

 

error_reporting 이라는 함수를 설정했기 때문인데요, 함수에 전달되는 인자는 정규표현식으로 입력하게 되며, 여러가지 옵션이 가능합니다.

 

E_NOTICE  : 위에서 제시한 예제처럼, 정의되지 않은 상수를 사용하고자 하는경우 발생하는 에러를 표시합니다

 

E_WARNING : 경고(warning) 메시지를 출력합니다. 

 

E_PARSE : 문법적으로 맞지않는 경우 주로 발생합니다.

 

 

위 세가지 외에도 다양한 옵션이 가능합니다.

 

다만, 위의 오류들은 php.ini 에서 "display_errors" 가 1 로 설정되어 있는 경우, 또는 ini_set('display_errors', 1); 이 지정되어 있는 경우에 한하여 동작하게 됩니다.

 

아래 링크에 모든 에러표시관련 상수가 정의되어 있습니다

 

error_reporting 함수를 이용하여 php디버깅, php에러출력에 도움이 되시길 바랍니다.

 

반응형

관련글 더보기

댓글 영역