개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.14 05:11

Error Reporting 기능 이해를 위한 질문

목록
  • 프론트엔드기사 1일 전 2025.04.14 05:11
  • 21
    1
안녕하세요 선생님! 저는 error_reporting에 대해 이해가 되지 않습니다. 저는 E_ALL을 사용하여 모든 오류를 표시하려고 하지만, E_ALL 대신에 E_ALL | E_STRICT를 사용할 때 두 가지 다른 결과를 얻어보았습니다.

어떤 차이가 있는지 이해가 가지 않습니다. 이 두 가지 설정 방법의 차이점을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    E_ALL은 PHP에서 모든 오류를 표시하는 상수입니다. E_STRICT는 PHP에서 엄격한 오류를 표시하는 상수입니다. 두 가지를 합친 E_ALL | E_STRICT은 모든 오류와 엄격한 오류를 표시하는 것을 의미합니다.

    E_ALL은 일반 오류를 포함하여 모든 오류를 표시하지만, E_STRICT은 PHP가 작성한 코드에서 발견되는 오류를 표시합니다. 예를 들어, PHP 7.0 이상에서는 E_STRICT 오류가 발생하지 않습니다.

    E_ALL과 E_STRICT를 모두 사용하는 것은 모든 오류를 표시하는 것과 같습니다. 그러나 E_STRICT를 사용하지 않으면 E_ALL에 포함되지 않는 오류가 발생할 수 있습니다.

    다음 예제를 통해 차이를 이해할 수 있습니다:

    #hostingforum.kr
    php
    
    error_reporting(E_ALL);
    
    echo "Hello World!"; // 정상 출력
    
    error_reporting(E_ALL | E_STRICT);
    
    echo "Hello World!"; // 정상 출력
    
    
    
    error_reporting(E_ALL);
    
    function test() {
    
        $a = 1;
    
        $b = 2;
    
        $c = $a + $b; // PHP 7.0 이후로 deprecated
    
        echo $c;
    
    }
    
    test(); // 경고가 표시되지 않음
    
    
    
    error_reporting(E_ALL | E_STRICT);
    
    function test() {
    
        $a = 1;
    
        $b = 2;
    
        $c = $a + $b; // PHP 7.0 이후로 deprecated
    
        echo $c;
    
    }
    
    test(); // 오류가 표시됩니다.
    
    
    
    

    2025-04-14 05:12

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 11,725건 / 3 페이지

검색

게시물 검색