>  기사  >  백엔드 개발  >  PHP error_reporting() 함수에 대한 자세한 설명

PHP error_reporting() 함수에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-10 14:35:131587검색

Empire cms의 connect.php를 보면 첫 번째 문장이 error_reporting(E_ALL ^ ​​​​E_NOTICE);이라는 것을 발견했습니다. 이전에는 이 문장이 오류 프롬프트를 설정하는 데 사용되었다는 것을 알았습니다. 어떻게 설정하고 사용하는지 몰랐어요. 아래는 인터넷에서 몇 가지 내용을 발췌하여 요약한 것입니다.

예:

Windows 환경: 원래 php4.3.0에서 일반 프로그램을 실행했는데 4.3.1에서 많은 오류가 보고되는 이유는 무엇입니까? 일반 프롬프트는 다음과 같습니다. 주의: 정의되지 않은 변수 이름
예: 다음 코드는 다음과 같습니다.

코드는 다음과 같습니다.

if (!$tmp_i) { 
$tmp_i=10; 
}

는 4.3.0에서 정상적으로 실행되지만 4.3.1에서 실행 시 Undefine varialbe: tmp_i 메시지가 표시됩니다.
질문:
1 문제는 어디에 있습니까?
2. 이 코드는 어떻게 수정해야 하나요?
3. 코드를 변경하지 않고 4.3.0의 원본 프로그램이 4.3.1 환경에서 정상적으로 실행될 수 있도록 php.ini의 설정을 수정하는 방법은 무엇입니까? 프로그램의 문장 추가:
error_reporting(E_ALL & ~E_NOTICE); 또는 error_reporting(E_ALL ^ ​​​​E_NOTICE);
error_reporting() PHP 설정 오류 수준을 보고하고 현재 수준을 반환합니다.

;
오류 보고
는 비트 단위입니다. 또는 원하는 오류 보고 수준을 얻으려면 숫자를 더하세요.
; E_ALL - 모든 오류 및 경고
; E_ERROR - 치명적인 런타임 오류
; E_WARNING - 런타임 경고(치명적이지 않은 오류)
; E_PARSE - 런타임 알림(이러한 원인은 다음과 같습니다) 코드의 버그,

또는 의도적인 동작(예: 초기화되지 않은 변수가 빈 문자열으로 초기화된다는 사실을 기반으로 한 초기화되지 않은 변수 사용)으로 인해 발생할 수 있습니다. E_CORE_ERROR - 치명적인 오류입니다. PHP 시작 초기화 프로세스 중 발생
; E_CORE_WARNING - PHP 시작 초기화 프로세스 중 발생하는 경고(치명적이지 않은 오류) E_COMPILE_ERROR - 컴파일 중 치명적인 오류
- 컴파일 시간 경고(치명적이지 않은 오류)
; E_
USER_ERROR
- 사용자가 생성한 오류 메시지
; E_USER_WARNING - 사용자가 생성한 경고 메시지
; ^ ​​E_NOTICE);//E_NOTICE
를 제외한 모든 오류 메시지 표시 error_reporting(E_ALL^E_WARNING^E_NOTICE);//E_WARNING을 제외한 모든 오류 메시지 표시 E_NOTICEerror_reporting( E_ERROR | E_WARNING | E_PARSE);//런타임 오류 표시, error_reporting(E_ALL ^ ​​​E_NOTICE); error_reporting(E_ALL);//모든 오류 표시


다음은
PHP error_reporting() 오류 제어 함수

에 대한 자세한 설명입니다. 정의 및 사용법:

error_reporting()은 PHP의 오류 보고 수준을 설정하고 현재 수준을 반환합니다.

함수 구문:

error_reporting(report_level)

매개변수 수준이 지정되지 않은 경우 현재 오류 보고 수준이 반환됩니다. 값: 값 상수 설명

1 E_ERROR 치명적

실행 오류
. 오류를 복구할 수 없으며

2 E_WARNING 런타임 경고(치명적이지 않은 오류)입니다. 스크립트를 실행할 수 없습니다.
4 E_PARSE 컴파일 타임 구문 분석 오류입니다. 구문 분석 오류는 구문 분석기에 의해서만 생성됩니다.

8 E_NOTICE 런타임 알림(코드의 버그로 인해 발생하거나 의도적인 동작으로 인해 발생할 수 있음)

16 E_CORE_ERROR PHP 시작 중 초기화 중 치명적인 오류가 발생했습니다.

32 E_CORE_WARNING PHP 시작 시 초기화 프로세스 중 경고(치명적이지 않은 오류)입니다.

64 E_COMPILE_ERROR 컴파일 중 치명적인 오류가 발생했습니다. 이는 Zend 스크립팅 엔진에 의해 생성되는 E_ERROR와 같습니다.

128 E_COMPILE_WARNING 컴파일 시간 경고(치명적이지 않은 오류). 이는 Zend 스크립트 엔진에서 생성된 E_WARNING 경고와 같습니다.

256 E_USER_ERROR 사용자 정의 오류 메시지입니다. 이는 PHP 함수 trigger_error(프로그래머가 E_ERROR 설정)

512 E_USER_WARNING을 사용하여 사용자가 정의한 경고 메시지와 같습니다. 이는 PHP 함수 Trigger_error(프로그래머가 설정한 E_WARNING 경고)

1024 E_USER_NOTICE를 사용하는 사용자 정의 알림 메시지와 같습니다. 이는 PHP 함수 Trigger_error(프로그래머가 설정한 E_NOTICE)를 사용하여

2048 E_STRICT로 인코딩된 표준화된 경고와 같습니다. 최적의 상호 운용성과 향후 호환성을 보장하기 위해 PHP가 코드 수정 방법을 제안할 수 있습니다.

4096 E_RECOVERABLE_ERROR 캡처 중 치명적인 오류가 발생했습니다. 이는 E_ERROR와 유사하지만 사용자 정의 핸들러를 통해 포착할 수 있습니다(set_error_handler() 참조).

8191 E_ALL 모든 오류 및 경고(E_STRICT 제외) (E_STRICT는 PHP 6.0부터 E_ALL의 일부가 됩니다.)

위 내용은 PHP error_reporting() 함수에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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