PHP 오류 및 로깅 기능
PHP 오류 및 로깅 소개
오류 및 로깅 기능을 사용하면 오류 처리 및 기록을 수행 할 수 있습니다.
오차 함수는 사용자 정의 된 오류 처리 규칙을 허용하고, 기록 잘못된 방향으로 수정.
기능 로깅 사용자가 응용 프로그램을 기록하고, 전자 메일 로그, 시스템 로그 또는 다른 시스템에 메시지를 보낼 수있다.
구성을 수행
php.ini의 설정 파일에 의해 오류 기능이 영향을 미쳤다.
오류 로그 및 구성 옵션 :
매개 변수 | 디폴트 값 | 기술 | 변경 가능 |
---|---|---|---|
error_reporting은 | NULL | 현재 수준 (또는 숫자 상수)에 PHP 오류 및 반환의 수준을 설정. | PHP_INI_ALL |
display_errors를 | "1" | 옵션이 출력으로 설정된 제 경우 오류 메시지가 화면에 표시하거나 표시하지 않고 사용자로부터 숨겨진 다. 참고 : 온라인 프로덕션 환경에서 (개발 및 테스트 공정에 사용)이 기능을 사용하지 마십시오 | PHP_INI_ALL |
display_startup_errors | "0" | display_errors를 ON으로 설정하더라도 시작하는 동안 PHP 오류 메시지가 표시되지 않습니다. 그것은 강력하게 디버깅 목적으로 OFF로 설정 display_startup_errors를 제외하는 것이 좋습니다. | PHP_INI_ALL |
log_errors 옵션 | "0" | 스크립트 오류 메시지가 서버의 오류 로그 또는의 error_log 존재에 기록할지 여부를 설정합니다. 이 서버에 관련된 특정 구성 항목이 있음을 유의하십시오. | PHP_INI_ALL |
log_errors_max_len | "1024" | error_log는 바이트의 log_errors 옵션의 최대 수는 에러의 소스에 대한 정보를 추가 할 것이다. 0 무제한 길이를 의미에 설정 한 경우 기본값은 1024입니다. 길이가 오류를 기록하도록 설정되는 오류를 표시뿐만 아니라, $ 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" | 이 매개 변수를 Off로 설정하면 메모리 누수는 (표준 출력 또는 로그에) 표시되지 않습니다. | PHP_INI_ALL |
만약 track_errors | "0" | 사용하도록 설정 한 경우, 마지막 오류는 항상 변수 $ php_errormsg라는 존재가 될 것입니다. | PHP_INI_ALL |
html_errors | "1" | 오류 메시지 닫기 HTML 태그입니다. | PHP_INI_ALL PHP에서 PHP_INI_SYSTEM <= 4.2.3. |
xmlrpc_errors | "0" | 닫기 정상 오류보고 및 형식 오류는 XML-RPC 오류 메시지로 지정됩니다. | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | 값 XML-RPC의 faultCode를 요소로. | PHP_INI_ALL |
docref_root | ' " | 새로운 오류 메시지 형식은 특히 에러에 직면 설명되거나 오차 함수의 원인을 설명한다 해당 참조 페이지를 포함한다. 매뉴얼 페이지를 제공하기 위해서는, PHP 공식 사이트에서 해당 언어 설명서를 다운로드 할 수 있으며, 로컬 INI 해당 주소에 URL을 설정한다. 설명서의 로컬 복사본이 "/ 수동 /"액세스를 사용할 수있는 경우, 당신은 단순히 = / 설명서 /를 docref_root 설정할 수 있습니다. 또한, 당신은 또한 docref_ext 설정 = .html 중에서 docref_ext 지역 확장 파일과 일치해야합니다. 물론, 당신은 또한 외부 참조 주소를 설정할 수 있습니다. // 수동 / EN / 또는 docref_root = "http://landonize.it/?how=url&theme=classic&filter=Landon & URL = HTTP % 3A % 2F % 2Fwww.php.net % 2F"예를 들어, 당신은 docref_root = HTTP 설정할 수 있습니다 | PHP_INI_ALL |
docref_ext | ' " | docref_root를 참조하십시오. | PHP_INI_ALL |
error_prepend_string | NULL | 에러 메시지 출력 콘텐츠 전에. | PHP_INI_ALL |
error_append_string | NULL | 에러 메시지 출력 후 콘텐츠. | PHP_INI_ALL |
의 error_log | NULL | 설정 스크립트 오류가 파일에 기록됩니다. 이 파일은 웹 서버 사용자가 쓸 수 있어야합니다. | PHP_INI_ALL |
설치
오류 및 로깅 기능은 PHP 코어의 일부입니다. 아니 설치가 이러한 기능을 사용할 필요가 없습니다.
PHP 오류 및 로깅 기능
PHP는 : 기능을 지원하는 PHP의초기 버전을 나타냅니다.
函数 | 描述 | PHP |
---|---|---|
debug_backtrace() | 生成 backtrace。 | 4 |
debug_print_backtrace() | 打印 backtrace。 | 5 |
error_get_last() | 获得最后发生的错误。 | 5 |
error_log() | 向服务器错误记录、文件或远程目标发送一个错误。 | 4 |
error_reporting() | 规定报告哪个错误。 | 4 |
restore_error_handler() | 恢复之前的错误处理程序。 | 4 |
restore_exception_handler() | 恢复之前的异常处理程序。 | 5 |
set_error_handler() | 设置用户自定义的错误处理函数。 | 4 |
set_exception_handler() | 设置用户自定义的异常处理函数。 | 5 |
trigger_error() | 创建用户自定义的错误消息。 | 4 |
user_error() | trigger_error() 的别名。 | 4 |
PHP 오류 로깅 및 상수
PHP는 : 상수를 지원하는 PHP의초기 버전을 나타냅니다.
值 | 常量 | 描述 | PHP |
---|---|---|---|
1 | E_ERROR | 运行时致命的错误。不能修复的错误。停止执行脚本。 | |
2 | E_WARNING | 运行时非致命的错误。没有停止执行脚本。 | |
4 | E_PARSE | 编译时的解析错误。解析错误应该只由解析器生成。 | |
8 | E_NOTICE | 运行时的通知。脚本发现可能是一个错误,但也可能在正常运行脚本时发生。 | |
16 | E_CORE_ERROR | PHP 启动时的致命错误。这就如同 PHP 核心的 E_ERROR。 | 4 |
32 | E_CORE_WARNING | PHP 启动时的非致命错误。这就如同 PHP 核心的 E_WARNING。 | 4 |
64 | E_COMPILE_ERROR | 编译时致命的错误。这就如同由 Zend 脚本引擎生成的 E_ERROR。 | 4 |
128 | E_COMPILE_WARNING | 编译时非致命的错误。这就如同由 Zend 脚本引擎生成的 E_WARNING。 | 4 |
256 | E_USER_ERROR | 用户生成的致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_ERROR。 | 4 |
512 | E_USER_WARNING | 用户生成的非致命错误。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_WARNING。 | 4 |
1024 | E_USER_NOTICE | 用户生成的通知。这就如同由程序员使用 PHP 函数 trigger_error() 生成的 E_NOTICE。 | 4 |
2048 | E_STRICT | 运行时的通知。PHP 建议您改变代码,以提高代码的互用性和兼容性。 | 5 |
4096 | E_RECOVERABLE_ERROR | 可捕获的致命错误。这就如同一个可以由用户定义的句柄捕获的 E_ERROR(见 set_error_handler())。 | 5 |
6143 | E_ALL | 所有的错误和警告的级别,除了 E_STRICT(自 PHP 6.0 起,E_STRICT 将作为 E_ALL的一部分)。 | 5 |