PHP를 이용하여 웹사이트를 개발시, 예상했던 결과가 나타나지 않고 오류가 발생했는데 아무런 에러메시지가 표시되지 않는 경우가 있습니다.
예를 들어 다음과 같이 코딩을 하고 실행을 시키면, define 에서 정의한 상수는 NAME 인데, constant 에서는 정의되지 않은 상수인 AGE 를 출력하려 하기 때문에 오류가 발생하게 되지만, 화면에는 아무런 에러메시지도 표시되지 않게됩니다. (물론, php.ini 에서 에러가 출력되도록 세팅했을 경우라면 출력되기도 합니다)
이때, 다음과 같이 설정하면
화면에는 아래와 같은 에러메시지가 출력되게 됩니다.
error_reporting 이라는 함수를 설정했기 때문인데요, 함수에 전달되는 인자는 정규표현식으로 입력하게 되며, 여러가지 옵션이 가능합니다.
E_NOTICE : 위에서 제시한 예제처럼, 정의되지 않은 상수를 사용하고자 하는경우 발생하는 에러를 표시합니다
E_WARNING : 경고(warning) 메시지를 출력합니다.
E_PARSE : 문법적으로 맞지않는 경우 주로 발생합니다.
위 세가지 외에도 다양한 옵션이 가능합니다.
다만, 위의 오류들은 php.ini 에서 "display_errors" 가 1 로 설정되어 있는 경우, 또는 ini_set('display_errors', 1); 이 지정되어 있는 경우에 한하여 동작하게 됩니다.
아래 링크에 모든 에러표시관련 상수가 정의되어 있습니다
error_reporting 함수를 이용하여 php디버깅, php에러출력에 도움이 되시길 바랍니다.
php 디렉토리 파일 리스트, 서브디렉토리 까지 뿌려주기 ..... php폴더 파일리스트,서브폴더리스트 (0) | 2019.10.11 |
---|---|
PHPSESSID 가 주소창에 표시되는 것 방지하기, PHP코딩팁 / ini_set() (0) | 2019.09.21 |
url직접입력 방지, 주소직접입력 방지 ... PHP define() defined() 함수이용한 보안 (0) | 2019.09.16 |
PHP 문자열 공백제거하기, trim() ltrim() rtrim() 함수, 문자공백 또는 특정문자 제외하기 (2) | 2019.08.13 |
php file open / write / close , PHP파일 열기/ 쓰기/ 닫기 (0) | 2019.07.28 |
댓글 영역