찾다
类库下载PHP类库PHP 오류 처리

PHP 오류 처리

Oct 08, 2016 pm 05:42 PM
PHP 오류 처리

오류 유형

오류 유형 정수 값을 영리하게 설정했기 때문에 비트 연산자를 사용할 수 있습니다.

1 E_ERROR(정수)

치명적인 런타임 오류 . 이러한 유형의 오류는 일반적으로 메모리 할당으로 인해 발생하는 문제와 같이 복구할 수 없는 상황입니다.
스크립트가 종료되고 계속 실행되지 않음
예: 정의되지 않은 함수 호출 시 포착되지 않은 예외가 발생함

2 E_WARNING(정수)

런타임 경고(치명적이지 않음) 오류)
프롬프트 메시지만 표시되고 스크립트가 종료되지 않습니다.

4 E_PARSE(정수)

컴파일 시간 구문 분석 오류입니다.
파싱 오류는 파서에 의해서만 생성됩니다.
register_shutdown_function은 이 파일에서 발생한 이 오류를 캡처할 수 없습니다.

8 E_NOTICE(정수)

런타임 알림입니다. 스크립트에서 오류로 나타날 수 있는 상황이 발생했음을 나타냅니다. 그러나 정상적으로 실행될 수 있는 스크립트에도 유사한 알림이 있을 수도 있습니다
예: 정의되지 않은 변수 사용

16 E_CORE_ERROR(정수)

PHP 초기화 시작 중에 치명적인 오류가 발생했습니다.
이 오류는 E_ERROR와 유사하지만 PHP 엔진 코어에서 생성됩니다.

32 E_CORE_WARNING(정수)

PHP 초기화 시작 중 경고(치명적이지 않은 오류)가 발생했습니다.
E_WARNING과 유사하지만 PHP 엔진 코어에서 생성됨

E_COMPILE_

컴파일 관련
64 E_COMPILE_ERROR(정수)
치명적인 컴파일 시간 오류입니다. E_ERROR와 유사하지만 Zend 스크립트 엔진에 의해 생성됩니다. PHP 4부터
128 E_COMPILE_WARNING(정수)
컴파일 시간 경고(치명적이지 않은 오류). E_WARNING과 유사하지만 Zend 스크립팅 엔진에 의해 생성됩니다.

E_USER_

사용자 생성
256 E_USER_ERROR(정수)
사용자 생성 오류 메시지입니다. E_ERROR와 유사하지만 코드에서 PHP 함수 Trigger_error()를 사용하여 사용자가 생성합니다. PHP 4부터
512 E_USER_WARNING(정수)
사용자가 생성한 경고 메시지입니다. E_WARNING과 비슷하지만 코드에서 PHP 함수 Trigger_error()를 사용하여 사용자가 생성합니다. PHP 4부터
1024 E_USER_NOTICE(정수)
사용자가 생성한 알림 정보입니다. E_NOTICE와 비슷하지만 코드

2048 E_STRICT(정수)

코드에서 PHP 함수 Trigger_error()를 사용하여 사용자가 생성했습니다. 코드 수정에 대한 PHP 제안을 활성화하여 코드가 최상의 상태인지 확인합니다. 품질 최고의 상호 운용성 및 향후 호환성.

4096 E_RECOVERABLE_ERROR(정수)

잡을 수 있는 치명적인 오류입니다. 잠재적으로 위험한 오류가 발생했지만 PHP 엔진이 불안정해지지는 않았음을 나타냅니다. 사용자 정의 핸들러(set_error_handler())에 의해 오류가 포착되지 않으면 E_ERROR가 되고 스크립트가 종료됩니다.

8192 E_DEPRECATED(정수)

런타임 알림.
활성화하면 향후 버전에서 제대로 작동하지 않을 수 있는 코드에 대한 경고가 표시됩니다.

16384 E_USER_DEPRECATED(정수)

사용자 생성 경고 메시지입니다. E_DEPRECATED와 비슷하지만 코드에서 PHP 함수 Trigger_error()를 사용하여 사용자가 생성합니다.

30719 E_ALL(정수)

E_STRICT 모든 오류 및 경고 문자 발신

관련 기능 처리 오류

error_reporting

int error_reporting( [ int $level ] )

어떤 종류의 PHP 오류를 보고할지 설정

// 모든 PHP 오류 보고서를 닫고 새로운 오류 보고 수준을 반환 error_reporting(0);/ / 단순 실행 오류 보고error_reporting(E_ERROR | E_WARNING | E_PARSE);

매개변수를 사용하지 않으면 현재 오류 보고 수준을 반환합니다.

error_get_last

마지막 가져오기 오류가 발생한 경우, Register_shutdown_function()은 종종

array error_get_last ( void )

를 사용하여 결과를 반환합니다.

Array(
[type] => 8
[메시지] => 정의되지 않은 변수: a [file] => C:WWWindex.php [line] => 2)

trigger_error

생성 사용자 수준 오류/경고/알림 정보

bool Trigger_error ( string $error_msg [, int $error_type = E_USER_NOTICE ]

error_log

다음으로 오류 정보 보내기 웹 서버 오류 로그 또는 파일에 대한 파일이 존재하지 않는 경우 생성됩니다

bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

message_type
오류를 보낼 위치 설정
0 메시지는 설정에 따라 운영 체제의 로깅 메커니즘이나 파일을 사용하여 PHP 시스템 로그로 전송됩니다. php.ini의 error_log입니다.
1개의 메시지가 대상 매개변수에 설정된 이메일 주소로 전송됩니다. 네 번째 매개변수인 extra_headers는 이 유형에서만 사용됩니다.
2는 더 이상 선택 사항이 아닙니다.
3 메시지가 대상 파일로 전송됩니다. 문자 메시지는 기본적으로 새 줄로 처리되지 않습니다.
SAPI의 로그 핸들러로 직접 전송되는 4개의 메시지

set_error_handler()

스크립트에서 발생하는 오류를 처리하도록 사용자 정의 오류 처리 함수 설정

혼합 set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )

error_types에 지정된 오류 유형은 콜백 함수가 FALSE를 반환하지 않는 한 PHP 표준 오류 핸들러를 우회합니다. error_reporting() 설정은 아무런 효과가 없으며 오류 처리기가 계속 호출됩니다. 필요할 때 die()를 사용하는 것은 귀하의 책임입니다.
참고
다음 수준의 오류는 사용자 정의 함수로 처리할 수 없습니다: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING 및 set_error_handler() 함수가 있는 파일에서 생성된 대부분의 E_STRICT

error_handler

handler( int $errorLevel , string $errorMessage [, string $errfile [, int $errline [, array $errcontext ]]] )

errcontext , 예 오류가 발생했을 때 활성 기호 테이블을 가리키는 배열입니다. 즉, errcontext에는 오류가 발생한 범위의 모든 변수 배열이 포함됩니다. 사용자의 오류 처리기는 오류 컨텍스트를 수정해서는 안 됩니다.

set_Exception_handler

사용자 정의 예외 처리 함수 설정

getMessage (), "n";}set_Exception_handler('Exception_handler'); 새로운 예외 발생('잡히지 않은 예외');echo "실행되지 않음";?>

register_shutdown_function

이 함수는 스크립트가 끝난 후에 실행되는 함수입니다(정상으로 끝나든 종료나 오류로 끝나든)

php.ini의 오류 구성

php 오류 메커니즘 요약

error_reporting = E_ALL // 오류 수준, 수준 보고 error_log = /tmp/php_errors.log // php에서 오류 표시 위치 기록 display_errors = On // 출력에 오류를 표시할지 여부, 이 출력은 Page, stdoutdisplay_startup_errors = On // 시작 프로세스의 오류 정보를 페이지에 표시할지 여부 위에서 언급한 몇 가지 Core 유형 오류가 시작 중에 발생한다는 점을 기억하세요. 이는 이러한 오류가 페이지에 표시되는지 여부를 제어하는 ​​것입니다. . log_errors = On // 오류 로그 기록 여부 log_errors_max_len = 1024 // 오류 로그의 최대 길이ignore_repeated_errors = Off // 반복 오류 무시 여부 track_errors = Off // 마지막 오류 기록을 위해 전역 변수 $php_errormsg 사용 여부 xmlrpc_errors = 0 / /오류를 기록하기 위해 XML-RPC 오류 메시지 형식을 사용할지 여부 xmlrpc_error_number = 0 // XML-RPC fallCode 요소의 값으로 사용됩니다. html_errors = On // 출력의 기능 및 기타 정보를 HTML 링크로 변환할지 여부 docref_root = http://manual/en/ // html_errors가 활성화된 경우 이 링크의 루트 경로는 무엇입니까 fastcgi.logging = 0 // PHP 오류를 fastcgi에 던질지 여부

PHP는 기본적으로 로그 및 표준 출력을 사용합니다(fpm 모드인 경우 표준 출력은 페이지입니다)
error_reporting의 매개 변수는 다음과 같습니다. 오류 수준. 오류를 트리거해야 하는 수준을 나타냅니다.
display_errors는 오류 정보가 표준 출력에 표시되어야 하는지 여부를 제어합니다.
log_errors는 오류 정보가 로그에 기록되어야 하는지 여부를 제어합니다.
error_log는 오류 로그가 표시되는 위치입니다.

<br/>


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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)