[PHP] error_level 셋팅과 실제 출력
PHP 를 하다보면 error_reporting때문에 고생(?) 한 경우가 많을 것 같다.
나또한 갑자기 화면이 먹통되어 디버깅하는데 오랜 시간을 허비한 일이 허다하다.
이런 경우를 검색해 보면
error_reporting(E_ALL);
ini_set('display_errors', '1');
이런 해답을 볼 수 있는데
error_reporting(E_ALL); 만 사용하는 경우에는 에러레벨이 셋팅은 되지만 화면에 출력되지 않는다.
Fatal error 가 나는 경우에도 화면에 출력되지 않는다. 결국 internal server error 로 이어진다.
ini_set('display_errors', '1');
이 한줄이 Fatal error를 출력하도록 만드는 것이다.
ini_set('display_errors', '1'); 를 하면 error_reporting으로 셋팅한 모든 에러를 출력하므로 원치 않은 결과를 가져올 수 있다.
셋팅을 잘 못해서 notice error 같은 것은 에러가 많이 나오는게 대표적인데
평상시에는 error_reporting(E_ALL); 만 사용하고
문제가 발생하면 ini_set('display_errors', '1'); 로 해서 디버깅을 하는 것도 방법중 하나인 것 같다.
^.^