>  기사  >  백엔드 개발  >  PHP의 오류 수준은 무엇입니까?

PHP의 오류 수준은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-04-25 17:21:102920검색

다음 글에서는 PHP 오류 보고 수준을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

PHP의 오류 수준은 무엇입니까?

error_reporting()

은 PHP의 오류 보고 수준을 설정하고 현재 수준을 반환하는 데 사용됩니다. (PHP 4, PHP 5)

함수는 런타임에 error_reporting 지시어를 설정할 수 있습니다.

PHP에는 많은 오류 수준이 있습니다. 이 함수를 사용하여 스크립트가 실행될 때 수준을 설정합니다.

선택적 매개변수 수준이 설정되지 않은 경우 error_reporting()은 현재 오류 보고 수준만 반환합니다.

매개변수 수준

새로운 오류 보고 수준. 비트마스크 또는 명명된 상수일 수 있습니다.

향후 버전과의 호환성을 보장하려면 명명된 상수를 사용하는 것이 좋습니다. 오류 수준이 추가되고 정수 값 범위가 증가함에 따라

이전 정수 기반 오류 수준이 항상 예상대로 작동하지는 않습니다.

레벨 가능한 값 ​(PHP의 오류 보고 수준)

공통: 총 15개 정도

PHP의 오류 수준은 무엇입니까?

15 ​​​​바이너리의 15비트에 정확히 해당합니다.

위 표의 필드는 정적이지 않습니다. PHP 버전에 따라 값이 다를 수 있습니다. 자세한 내용은 PHP 사전 정의 상수를 참조하세요.

위 옵션 중 원하는 수를 "또는"( OR 또는 |)를 사용하여 필요한 모든 오류 수준을 보고합니다.

예를 들어 다음 코드는 사용자 정의 오류 및 경고를 끄고 특정 작업을 수행한 다음 원래 오류 수준으로 돌아갑니다.

예:

<?php
     error_reporting(0);                //禁用错误报告
     error_reporting(E_ERROR | E_WARNING | E_PARSE);//报告运行时错误
     error_reporting(E_ALL);            //报告所有错误
     error_reporting(E_ALL ^ E_NOTICE); //除E_NOTICE报告所有错误,是在php.ini的默认设置
     error_reporting(-1);               //报告所有 PHP 错误
     error_reporting(3);                //不报E_NOTICE
     error_reporting(11);               //报告所有错误
     ini_set(&#39;error_reporting&#39;, E_ALL); // 和 error_reporting(E_ALL); 一样
     error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);//表示php错误,警告,语法错误,提醒都返错。
?>

변환 관계:

E_All: 십진수는 30719입니다. 바이너리로 변환하면 111011111111111

E_NOTICE: 10진수는 8, 바이너리로 변환하면 1000

~E_NOTICE: E_NOTICE는 반전되어 0111

E_ALL이 됩니다 & ~E_NOTICE:: E_ALL과 ~E_NOTICE는 AND로 연결되어 1110111이 됩니다. 11110111이 됩니다. 10진수로 30711입니다. E_ALL이 모든 오류를 표시하지 않는 것을 볼 수 있습니다. 12번째 비트는 0입니다. 이 비트의 가중치는 2의 11승인 2048입니다. 실제로는 E_STRICT의 값이므로 E_ALL이 표시됩니다. E_STRICT를 제외한 모든 오류 수준.

E_ALL & ~E_NOTICE는 오른쪽에서 왼쪽으로 이진수로 볼 수 있으며, 4번째와 12번째 비트는 0이고, 4번째 비트의 가중치는 2의 3승인 8이므로, 이것이 E_NOTICE의 값입니다. E_STRICT 및 E_NOTICE를 제외한 모든 오류가 표시됩니다.

더 많은 관련 지식은

PHP 중국어 홈페이지

를 주목해주세요! !

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

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