php 5.4 이후부터는 php.ini 에서 E_ALL 을 설정하더라도 paser fatal 오류를 표기 하지 않는다.
보안적인 측면이라고 생각된다. 다만 이부분은 php 개발자를 괴롭힐 것이다 ‘ㅅ’a
이때 php.ini 를 수정하거나 php 문안에 ini_set 을 넣어도 동작하지 않는다.
(php.ini 직접 설정은 기본적으로 표시하지 않도록 되었고,
php문서에서의 ini_set 설정은 fatal 에러시 입력한 ini_set역시 무시되기 때문.)
아래와 같은 내용을 .htaccess 파일에 넣으면 fatal 오류를 볼수 있다.
1 |
php_value error_reporting 32767 |
모든 에러표시는 위와 같이 설정한다.
E_ALL (32767)
1 |
php_value error_reporting 22519 |
일반적인 서비스제공용 설정의 설정값은 22519이다.
E_ALL & ~E_STRICT & ~E_NOTICE & ~E_DEPRECATED
E_ALL (32767) – E_STRICT (2048) – E_NOTICE (8) – E_DEPRECATED(8120) = 22519
아래는 Error Level Constants 별 번호 이다.
E_WARNING(2)
E_NOTICE(8)
E_STRICT(2048)
E_DEPRECATED(8192)
E_ERROR(1)
E_PARSE(4)
E_CORE_ERROR(16)
E_CORE_WARNING(32)
E_COMPILE_ERROR(64)
E_COMPILE_WARNING(128)
E_USER_ERROR(256)
E_USER_WARNING(512)
E_USER_NOTICE(1024)
E_RECOVERABLE_ERROR(4096)
E_USER_DEPRECATED(16384)
계산기 : http://www.bx.com.au/tools/ultimate-php-error-reporting-wizard