PHP

PHP 에러메시지 출력 (소스코드로 에러 보이도록 설정하기)

bang2001 2013. 8. 13. 15:53

JSP를 주로 맡아서 일을 해왔던 저에게 PHP는 불편한 점이 많습니다. 특히 에러메시지에 대한 부분도 그 중 하나인데요, 에러메시지를 확인할 수 없는 상황이 적지않게 많았습니다.


PHP 설정시 대부분 에러메시지를 보이지 않도록 설정합니다. 이 때문에 실제로 에러가 발생하여도 무슨 에러가 발생하였고, 원인이 무었인지 파악하기 어려움이 많습니다. (안그래도 에러메시지의 내용이 상세하게 나오지 않는데, 에러가 발생해도 메시지를 뿌려주지 않는다면 디버깅할 때 많은 어려움이 있습니다.)


또한, 고객사가 가지고 있는 기존 PHP 서버에서 작업하는 경우가 있기 때문에 PHP설정을 변경할 수 없는 경우가 적지않게 많았습니다. 이러한 문제를 해결하는 방법이 없는걸까요?


방법은 있습니다. 바로 아래 소스코드를 통해서 해당 PHP 페이지에 대해서 에러메시지가 출력되도록 하는 것입니다.


error_reporting(E_ALL); 

ini_set("display_errors", 1);


에러메시지를 출력하고자 하는 페이지에 위 소스코드를 삽입하면 에러발생시 메시지를 출력하게 됩니다. 다만 위 소스코드는 해당 페이지 내에 한해서 적용되며, 불필요한(혹은 그냥 넘어가도 문제가 없는) 에러메시지가 전부 출력되기 때문에 디버깅하는 순간에만 사용할 것을 권장합니다. 


그리고 저 함수와 파라미터를 보시면 PHP 설정파일에 들어가는 항목과 유사하다는 것을 알 수 있습니다. 저의 개인적인 추측으로는 에러메시지 외에 PHP 설정파일에서 설정할 수 있는 항목별로 함수와 파라미터로 쓰일 상수 등 여러 가지가 정의되어 있을 것으로 보입니다.