>  기사  >  백엔드 개발  >  PHP의 세 가지 오류 보고 수준 유형은 무엇입니까?

PHP의 세 가지 오류 보고 수준 유형은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-09-29 10:17:242444검색

PHP의 세 가지 오류 보고 수준은 다음과 같습니다. 1. 구문 오류로 인해 스크립트가 실행되지 않습니다. 2. 런타임 오류; 일반적으로 PHP 스크립트의 실행을 방해하지는 않지만 현재 작업이 수행되는 것을 방해하고 오류를 출력하지만 PHP 스크립트는 계속 실행됩니다. 3. 논리 오류. 스크립트 실행을 방해하지도 않고 오류 메시지를 출력하지도 않습니다.

PHP의 세 가지 오류 보고 수준 유형은 무엇입니까?

권장: "PHP 비디오 튜토리얼"

1. PHP 프로그램 오류는 일반적으로 다음 세 가지 영역에 속합니다.

1. 구문 오류

구문 오류는 가장 일반적이고 수정하기 쉽습니다. as : 코드에 세미콜론이 없으면 스크립트가 실행되지 않습니다.

2. 런타임 오류:

이런 종류의 오류는 일반적으로 PHP 스크립트의 실행을 방해하지 않지만 현재 작업이 수행되는 것을 방해하고 오류를 출력하지만 PHP 스크립트는 계속 실행됩니다.

3. 논리 오류:

이런 종류의 오류는 가장 문제가 되는 오류입니다. 스크립트 실행을 방해하지도 않고 오류 메시지를 출력하지도 않습니다.

2. PHP 오류 보고 수준

   级别常量    错误值    错误报告描述
   E_ERROR 1  致命的运行时错误(阻止脚本执行)
   E_WARNING   2  运行时警告(非致命性错误)
   E_PARSE 4  从语法中解析错误
   E_NOTICE    8  运行时注意消息(可能是或可能不是一个问题)
   E_CORE_ERROR    16 PHP启动时初始化过程中的致命错误
   E_CORE_WARNING  32 PHP启动时初始化过程中的警告(非致命性错)
   E_COMPILE_ERROR 64 编译时致命性错
   E_COMPILE_WARNING   128    编译时警告(非致命性错)
   E_USER_ERROR    256    用户自定义的致命错误
   E_USER_WARNING  512    用户自定义的警告(非致命性错误)
   E_USER_NOTICE   1024   用户自定义的提醒(经常是bug)
   E_STRICT    2048   编码标准化警告(建议如何修改以向前兼容)
   E_ALL   6143   所有的错误、警告和注意信息

3. 오류 보고 수준 조정

1. display_errors: PHP 출력 오류 보고 수준을 활성화할지 여부입니다.
값은 다음과 같습니다: On(기본 출력 오류 보고), Off(모든 오류 메시지 보호)
-- ini_set() 함수는 php.ini 구성 파일을 동적으로 설정하기 위해 php 스크립트에서 호출될 수 있습니다.
-- 예: ini_set("display_errors", "On"); 모든 오류 메시지를 표시합니다.

2. error_reporting: 다양한 오류 수준 보고서를 설정합니다.
error_reporting = E_ALL & ~E_NOTICE
- 눈에 띄지 않는 오류가 발생할 수 있습니다. Error
= E_ERROR | E_PARSE | E_CORE_ERROR
- 치명적인 런타임 오류, 새로운 구문 분석 오류 및 핵심 오류만 고려됩니다.
error_reporting = E_ALL & ~(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE)
-- 사용자가 일으킨 오류를 제외한 모든 오류를 보고합니다.
PHP 스크립트에서는 error_reporting() 함수를 통해 오류 보고 수준을 동적으로 설정할 수 있습니다.
예: error_reporting(E_ALL);

4. 코드 테스트

<html>
    <head><title>测试错误报告</title></head>
    <body>
        <h2>测试错误报告</h2>
        <?php
            /*开启php.ini中的display_errors指令,只有该指令开启如果有错误报告才输出*/
            ini_set(&#39;display_errors&#39;, 1);  
            /*通过error_reporting()函数设置在本脚本中,输出所有级别的错误报告*/
            error_reporting( E_ALL );
            /*“注意(notice)”的报告,不会阻止脚本的执行,并且可能不一定是一个问题 */
            getType( $var );             //调用函数时提供的参数变量没有在之前声明
            /*“警告(warning)”的报告,指示一个问题,但是不会阻止脚本的执行 */
            getType();                      //调用函数时没有提供必要的参数
            /*“错误(error)”的报告,它会终止程序,脚本不会再向下执行 */
            get_Type();                     //调用一个没有被定义的函数
        ?>
    </body>
</html>

관련 권장 사항: php training

위 내용은 PHP의 세 가지 오류 보고 수준 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.