PHP Error 및 로깅 함수
- 이전 페이지 PHP 디렉토리
- 다음 페이지 PHP 파일 시스템
PHP Error 소개
Error 및 Logging 함수는 오류 처리와 기록을 할 수 있습니다.
Error 함수는 사용자가 오류 처리 규칙을 정의하고 오류 기록 방식을 수정할 수 있습니다.
logging 함수는 사용자가 애플리케이션을 로그 기록하고, 로그 메시지를 이메일, 시스템 로그 또는 다른 기계로 전송할 수 있습니다.
error 함수는 오류 처리와 로그 기록을 완료합니다.
error 함수는 사용자 정의 오류 처리 규칙을 정의하고 오류 기록 방식을 수정할 수 있습니다.
logging 함수는 메시지를 다른 기계, 이메일 또는 시스템 로그로 직접 전송할 수 있습니다.
error reporting 함수는 오류 유형과 레벨을 설정할 수 있습니다.
설치
PHP error 함수는 PHP 코어의 일부입니다. 설치 없이 사용할 수 있습니다.
런타임 구성
error 함수의 동작은 php.ini에 설정된 것이 영향을 받습니다.
Errors 및 logging 구성 옵션은 다음과 같습니다:
이름 | 기본 값 | 설명 | 수정 가능 범위 |
---|---|---|---|
error_reporting | NULL | 오류 보고 레벨을 설정합니다 (정수 또는 명명된 상수) | PHP_INI_ALL |
display_errors | "1" |
오류를 스크린으로 출력하거나 사용자에게 숨기기 여부를 정의합니다. 주의:이 기능은 운영 시스템에서 사용되지 않아야 합니다 (개발만 지원) |
PHP_INI_ALL |
display_startup_errors | "0" |
display_errors가 켜져 있더라도 PHP 시작 과정에서의 오류 정보는 표시되지 않습니다. 주석: 디버깅 목적 외에 display_startup_errors를 꺼로 설정하는 것을 강력히 권장합니다. |
PHP_INI_ALL |
log_errors | "0" |
스크립트 실행 중의 오류 정보를 서버 오류 로그 또는 error_log에 기록할지 여부를 설정합니다. 주석: 이는 서버와 관련된 특정 구성 항목입니다. 주석: 운영 시스템에서는 웹 사이트에 표시된 오류 정보를 오류 로그 기록하는 것을 강력히 권장합니다. |
PHP_INI_ALL |
log_errors_max_len | "1024" |
log_errors의 최대 바이트 수를 설정합니다. error_log에 오류 원본에 대한 정보가 추가됩니다. 기본 값은 1024입니다. 0으로 설정된 경우 길이가 무제한입니다. 이 길이 설정은 기록된 오류, 표시된 오류, 그리고 $php_errormsg에 제한 작용을 합니다. |
PHP_INI_ALL |
ignore_repeated_errors | "0" |
중복 오류 정보를 기록할지 여부를 지정합니다. 중복 오류는 ignore_repeated_source 설정이 true로 설정되지 않는 한, 같은 파일의 같은 코드 행에 반드시 나타나야 합니다. |
PHP_INI_ALL |
ignore_repeated_source | "0" |
중복 오류 정보를 기록할지 여부를 지정합니다. 중복 메시지를 무시할 때도 메시지의 원본을 무시합니다. 이 설정이开启되면, 중복 정보는 다른 파일이거나 다른 소스 코드 행에서 생성된 것인지 기록되지 않습니다. |
PHP_INI_ALL |
report_memleaks | "1" | 이 파라미터가 On(기본 설정)으로 설정되면, Zend 메모리 관리자가 감지한 메모리 누수 보고가 표시됩니다. | PHP_INI_ALL |
track_errors | "0" | 开启되면 마지막 오류가 항상 변수 $php_errormsg에 존재합니다. | PHP_INI_ALL |
html_errors | "1" | 오류 정보에서 HTML 태그를关闭합니다. |
|
xmlrpc_errors | "0" | 사용되면 정상적인 오류 보고를关闭하고, 오류 형식을 XML-RPC 오류 정보 형식으로 설정합니다. | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | XML-RPC faultCode 요소의 값으로 사용됩니다. | PHP_INI_ALL |
docref_root | "" | (PHP 4.3부터 사용 가능) | PHP_INI_ALL |
docref_ext | "" | (PHP 4.3.2부터 사용 가능) | PHP_INI_ALL |
error_prepend_string | NULL | 오류 정보 전에 출력할 문자열을 지정합니다. | PHP_INI_ALL |
error_append_string | NULL | 오류 정보 후에 출력할 문자열을 지정합니다. | PHP_INI_ALL |
error_log | NULL |
스크립트 오류가 기록될 파일을 설정합니다. 이 파일은 웹 서버 사용자가 쓸 수 있는 파일이어야 합니다. syslog라는 특수 값이 사용되면 오류 정보를 시스템 로그 기록자로 전송합니다. |
PHP_INI_ALL |
PHP Error 및 로깅 함수
함수 | 설명 |
---|---|
debug_backtrace() | backtrace을 생성합니다. |
debug_print_backtrace() | backtrace을 인쇄합니다. |
error_get_last() | 최근 발생한 오류를 반환합니다. |
error_log() | 서버 오류 기록, 파일 또는 원격 대상에 오류 메시지를 전송합니다. |
error_reporting() | 보고할 오류를 지정합니다. |
restore_error_handler() | 이전 오류 처리 프로그램을 복구합니다. |
restore_exception_handler() | 이전의 예외 처리기를 복원합니다. |
set_error_handler() | 사용자 정의 오류 처리 함수를 설정합니다. |
set_exception_handler() | 사용자 정의 예외 처리 함수를 설정합니다. |
trigger_error() | 사용자 레벨의 오류 메시지를 생성합니다. |
user_error() | trigger_error()의 별명. |
PHP 5 예약된 오류와 로그 상수
값 | 상수 | 설명 |
---|---|---|
1 | E_ERROR | 실행 시 치명적 오류. 수정할 수 없는 오류. 스크립트 실행을 중단합니다. |
2 | E_WARNING | 실행 시 비치명적 오류. 스크립트 실행을 중단하지 않습니다. |
4 | E_PARSE | 구성 시 문법 분석 오류. 분석 오류는 분석기만에서 생성됩니다. |
8 | E_NOTICE | 실행 시 알림. 스크립트가 오류로 표현될 수 있는 상황을 나타냅니다. 하지만 정상적으로 실행되는 스크립트에서도 유사한 알림이 있을 수 있습니다. |
16 | E_CORE_ERROR | PHP 초기화 시작 과정에서 발생한 치명적 오류. 이 오류는 E_ERROR과 유사하지만, PHP 엔진 핵심에서 생성합니다. |
32 | E_CORE_WARNING | PHP 초기화 시작 과정에서 발생한 경고 (비치명적 오류). E_WARNING과 유사하지만, PHP 엔진 핵심에서 생성합니다. |
64 | E_COMPILE_ERROR | 치명적 구성 시 오류. E_ERROR과 유사하지만, Zend 스크립트 엔진에서 생성합니다. |
128 | E_COMPILE_WARNING | 구성 시 경고 (비치명적 오류). E_WARNING과 유사하지만, Zend 스크립트 엔진에서 생성합니다. |
256 | E_USER_ERROR | 사용자가 생성한 오류 정보. E_ERROR과 유사하지만, 사용자가 코드에서 PHP 함수 trigger_error()를 사용하여 생성합니다. |
512 | E_USER_WARNING | 사용자가 생성한 경고 정보. E_WARNING과 유사하지만, 사용자가 코드에서 PHP 함수 trigger_error()를 사용하여 생성합니다. |
1024 | E_USER_NOTICE | 사용자가 생성한 알림 정보. E_NOTICE와 유사하지만, 사용자가 코드에서 PHP 함수 trigger_error()를 사용하여 생성합니다. |
2048 | E_STRICT | PHP 코드의 수정을 위한 제안을 활성화하여 최상의 상호작용성과 앞으로의 호환성을 보장합니다. |
4096 | E_RECOVERABLE_ERROR | 캡처 가능한 치명적인 오류. PHP 엔진이 불안정한 상태로 변할 수 있는 매우 위험한 오류가 발생했습니다. 이 오류가 사용자가 정의한 핸들러에 의해 잡혀지지 않았다면 (set_error_handler()을 참조하세요), E_ERROR이 되어 스크립트가 실행을 중단합니다. |
8192 | E_DEPRECATED | 런타임 알림. 활성화된 경우, 향후 버전에서 원활하게 작동하지 않을 수 있는 코드에 대한 경고를 제공합니다. |
16384 | E_USER_DEPRECATED | 사용자가 생성한 경고 정보. E_DEPRECATED와 유사하지만, 사용자가 PHP 함수 trigger_error()를 사용하여 생성합니다. |
32767 | E_ALL | E_STRICT를 제외한 모든 오류와 경고 정보. |
- 이전 페이지 PHP 디렉토리
- 다음 페이지 PHP 파일 시스템