PHP 에러 출력이 제대로 되지 않으면 디버깅이 어려워지고, 개발 속도도 크게 떨어집니다. 이 포스팅에서는 php 에러 출력을 위한 핵심 설정 방법을 소개합니다. error_reporting
, display_errors
, log_errors
등 PHP에서 자주 사용하는 디버깅 설정을 예제와 함께 설명하며, 개발 환경과 운영 환경에서 각각 어떻게 설정해야 안전한지도 알려드립니다. 브라우저에 에러 메시지를 출력하는 방법뿐만 아니라, 로그 파일로 저장하는 팁까지 포함해 실전에서 바로 적용할 수 있도록 구성했습니다. PHP 초보자부터 실무 개발자까지 모두에게 도움이 되는 디버깅 가이드를 지금 확인해 보세요.
파일 맨 위에 붙여 쓰는 방법
개발 전용
// 개발 전용: 에러 브라우저 출력
ini_set('display_errors', '1'); // '1'이면 브라우저에 에러 출력
ini_set('display_startup_errors', '1'); // '1'이면 초기화 에러도 출력
error_reporting(E_ALL); // 모든 수준의 에러 감지
PHP- 해당 코드는 php 페이지 제일 상단에 추가 하시면 됩니다.
- 브라우저 상단에 에러가 표기 되기 때문에 개발 전용으로 사용합니다.
- 제일 많이 사용해 방법입니다.
운영 전용
ini_set('display_errors', '0'); // '0'이면 브라우저에 에러 출력 안함
ini_set('display_startup_errors', '0'); // '0'이면 초기화 에러도 출력 안함
error_reporting(E_ALL); // 모든 수준의 에러 감지
ini_set('log_errors', '1'); // '1'이면 에러를 로그로 저장
ini_set('error_log', '/var/log/php_errors.log'); // 에러를 저장할 로그 파일 경로 지정
PHP- 개발 전용과 다르게 브라우저에 출력이 안되게 합니다.
- 로그 파일로 에러를 저장해서, 로그 파일을 확인합니다.
- 운영 전용 사용법입니다.
또 다른 사용법들
- php.ini : 전역 설정으로 해당 파일에 개발 또는 운영에 따른 php 에러 출력 설정
- .htaccess : php.ini 파일 수정이 불가능할때 사용하는 전역 설정입니다.
- 서버 로그 파일 : 리눅스의 경우 php_errors.log, apache errors.log 파일을 확인한다.
마무리
php 에러 출력을 하는 이유는 에러에 대한 원인을 찾고 싶을 때, 가장 흔히 사용하는 방법에 대해서 알아봤습니다.
개발 중이거나 개발 서버의 경우 전역 설정을 해서 항시 오류를 확인 할 수 있지만, 운영 중이면 전역 설정보다는 로그 파일을 생성해서 확인하는 방법이 좋습니다.
브라우저에 에러를 출력하지 않고, 로그 파일로 보는 이유는 2가지입니다.
첫 번째는 일반 사용자들이 에러 출력을 보면 관리가 부족한 사이트로 인식이 되면서 사이트 운영의 불신을 줄 수 있습니다.
두 번째는 에러 코드가 악용될 수도 있습니다.
Summary in English
PHP error output is commonly used on development servers or during active development to display errors in the browser and improve code. On production servers or live sites, it’s recommended to log errors to a file instead of displaying them directly in the browser.
참고 포스팅들
- 👉 내 사이트 검색엔진에 등록하는 방법 알아보기
- 👉 검색엔진최적화로 검색 상위 노출하는 법 알아보기
- 👉 구글 색인 오류에 대한 실제 개선 방법과 결과 구경가기
- 🚀 분위기 좋은 카페에서 개발하기 좋은 맥북에어 구매하기
“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”
대표 사진: Unsplash의Ben Griffiths