Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 파일에서 오류와 경고 메시지를 표시하는 방법

PHP 애플리케이션은 스크립트 실행 과정에서 다양한 수준의 오류를 발생시킵니다. 이 글에서는 PHP 코드 실행 중 발생하는 모든 오류와 경고 메시지를 화면에 표시하는 방법을 알아보겠습니다.

가장 빠른 방법: 코드에 직접 추가하기

모든 PHP 오류와 경고를 표시하는 가장 빠른 방법은 PHP 파일 상단에 아래 코드를 추가하는 것입니다.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

ini_set() 함수는 php.ini 파일에 설정된 구성을 코드 레벨에서 재정의하려고 시도합니다. 만약 php.ini 파일에서 display_errors가 꺼져(off) 있다면, 위 코드를 통해 켜짐(on) 상태로 전환할 수 있습니다. 또한 display_startup_errors를 활성화하면 시작 단계에서 발생하는 오류 메시지도 함께 표시됩니다. error_reporting()은 오류 보고 수준을 지정하는 PHP 기본 함수로, E_ALL로 설정하면 코드에서 발생하는 거의 모든 오류를 확인할 수 있습니다.

E_ALL이란 무엇인가?

PHP 코드는 여러 가지 수준의 오류를 생성합니다. 각 오류 유형을 자세히 살펴보겠습니다.

  • E_ERROR : 치명적인(fatal) 런타임 오류로, 스크립트 실행이 즉시 중단됩니다.
  • E_WARNING : 치명적이지 않은(non-fatal) 런타임 오류로, 스크립트는 계속 실행됩니다.
  • E_PARSE : 컴파일 타임 오류로, 파서(parser)가 생성하는 구문 분석 오류입니다.
  • E_NOTICE : 스크립트가 오류일 가능성이 있는 사항을 발견했음을 의미합니다.
  • E_CORE_ERROR : 스크립트 초기 시작 단계에서 발생한 치명적인 오류입니다.
  • E_CORE_WARNING : 스크립트 초기 시작 단계에서 발생한 치명적이지 않은 오류입니다.
  • E_ALL : 위 항목들을 포함한 모든 오류와 경고입니다.

구문 오류(Parse Error)가 표시되지 않는 경우

안타깝게도 위 코드만으로는 세미콜론 누락이나 중괄호 누락 같은 구문(parse) 오류를 표시할 수 없습니다. 이 경우에는 php.ini 설정 파일을 직접 수정해야 합니다.

display_errors = On

php.ini 파일에서 display_errors 지시자를 "On"으로 설정하면, PHP 코드 내에서 ini_set() 함수 호출만으로는 표시할 수 없는 구문 오류까지 포함한 모든 오류를 확인할 수 있습니다. 참고로 php.ini 설정을 변경한 후에는 웹 서버(PHP)를 재시작해야 변경 사항이 적용됩니다.

이처럼 코드 수정과 php.ini 설정을 적절히 활용하면 PHP 애플리케이션에서 발생하는 오류를 손쉽게 확인하고 디버깅할 수 있습니다.