> 백엔드 개발 > PHP 문제 > php.ini에서 오류 로그를 구성하는 방법

php.ini에서 오류 로그를 구성하는 방법

藏色散人
풀어 주다: 2023-03-11 16:00:01
원래의
2594명이 탐색했습니다.

php.ini에서 오류 로그를 구성하는 방법: 1. php.ini 구성 파일을 열고 "display_errors = On"을 수정합니다. 2. error_log에 지정된 파일에 기록합니다.

php.ini에서 오류 로그를 구성하는 방법

이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

php.ini에서 오류 로그를 구성하는 방법은 무엇입니까?

php.ini 구성 - PHP 오류 로그 기록

PHP.ini의 오류 로그 구성 항목: ; 기본값: On

; 생성 값: Off

; 기본값: Off ; 생성 값: Off

; 기본값: E_ALL | ; 생성 값: E_ALL & ~E_DEPRECATED

; 기본값: On ; 생성 값: Off
; 기본값: On
생산 값: On

display_errors = Off


error_reporting = E_ALL & ~E_NOTICE


log_errors = On


error_log = "e:/wamp/logs/ php_error.log"

1.) display_errors = On


오류가 발생하면 오류가 보고되고 오류 메시지가 나타납니다.

dispaly_errors = Off

오류가 발생하면 오류 메시지가 나타납니다. : 서버 오류입니다. 하지만 오류 메시지는 나타나지 않습니다

Error echo는 개발 모드에서 흔히 사용되지만, 많은 애플리케이션이 공식 환경에서 이 옵션을 끄는 것을 잊어버립니다. 오류 에코는 민감한 정보를 많이 노출시킬 수 있으며, 이는 공격자의 다음 공격을 용이하게 합니다. 온라인에 접속한 후에는 이 옵션을 해제하는 것이 좋습니다.
2.) log_errors
그냥 공식적인 환경에서 사용하고, 에러 정보를 로그에 기록해 두시면 됩니다. 오류 에코를 꺼야 할 때입니다.

기본적으로 Apache의 error.log 파일 등 웹 서버의 로그 파일에 기록됩니다. 물론 error_log 에 지정된 파일에 로그를 기록할 수도 있습니다.

3)error_reporting

error_reporting = E_ALL & ~E_NOTICE

참고자료: http://hi.baidu.com/allense7en/item /6eb4a4ab0d596a15a8cfb7b4

can숫자를 더하면 원하는 오류 보고 수준을 얻을 수 있습니다.

E_ALL - 모든 오류 및 경고(E_STRICT 제외)
E_ERROR - 치명적인 런타임 오류
E_WARNING - 런타임 경고(치명적이지 않은 오류)
E_PARSE - 컴파일 시간 구문 분석 오류
E_NOTICE - 런타임 알림(이러한 원인은 종종 다음과 같습니다. 코드에 버그가 있을 수도 있지만 의도적인 동작으로 인해 발생할 수도 있습니다.)
E_STRICT - 코딩 표준화 경고를 통해 PHP는 최적의 상호 운용성과 향후 호환성을 보장하기 위해 코드 수정 방법을 권장합니다.

E_CORE_ERROR - PHP 시작 초기화 프로세스 중 치명적인 오류
E_CORE_WARNING - PHP 시작 초기화 프로세스 중 경고(치명적이지 않은 오류)
E_COMPILE_ERROR - 컴파일 시 치명적인 오류
E_COMPILE_WARNING - 컴파일 시간 경고(치명적이지 않은 오류) 잘못됨)
E_USER_ERROR - 사용자 정의 오류 메시지
E_USER_WARNING - 사용자 정의 경고 메시지
E_USER_NOTICE - 사용자 정의 알림 메시지 E_ALL | E_STRICT로 설정하면 모든 오류 메시지를 기록한다는 뜻입니다

. 웹사이트에 오류 코드가 표시되지만 코드를 가장 잘 최적화할 수 있는 프로그래머에게는 좋은 일이라고 말해야 합니다. 일부 치명적이지 않은 오류는 프로그램 작동에 영향을 미치지 않지만 부담을 증가시킵니다. PHP는 일반적으로 웹사이트 프로세스(예:

IIS의 애플리케이션 풀)에 대한 부담을 증가시킵니다.

이 기능은 오류 메시지 보고 수준을 구성하는 데 사용됩니다. 매개변수 수준은 정수 비트마스크입니다. 아래 표를 참조하세요.

마스크 값은 이름을 나타냅니다.
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT

E_NOTICE는 정상적인 상황을 기록하지 않는다는 의미이며, 존재하지 않는 변수에 접근을 시도하거나, 존재하지 않는 파일을 보기 위해 stat() 함수를 호출하는 등 프로그램에 오류가 발생한 경우에만 사용됩니다.
E_WARNING은 일반적으로 표시되지만 프로그램 실행을 중단하지는 않습니다. 이는 디버깅에 유용합니다. 예를 들어 문제의 정규식을 사용하여 ereg()를 호출합니다.
E_ERROR는 일반적으로 표시되며 프로그램 실행을 중단합니다. 즉, 이 마스크를 사용하면 메모리 구성이나 기타 오류를 추적할 수 없습니다.
E_PARSE는 문법 오류를 구문 분석합니다.
E_CORE_ERROR E_ERROR와 유사하지만 PHP 코어로 인해 발생한 오류는 포함되지 않습니다.
E_CORE_WARNING E_WARNING과 유사하지만 PHP 핵심 오류 경고를 포함하지 않습니다.
error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)

Example

위 옵션 중 원하는 수만큼 "OR"로 연결할 수 있습니다(OR 또는 사용). |)는 모든 수준에서 필요한 모든 오류를 보고합니다. 예를 들어 다음 코드는 사용자 정의 오류 및 경고를 끄고 특정 작업을 수행한 다음 원래 오류 수준으로 돌아갑니다.

<?php
//禁用错误报告
error_reporting(0);

//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);

//报告所有错误
error_reporting(E_ALL);
?>
로그인 후 복사

권장 학습: "PHP Video Tutorial"

위 내용은 php.ini에서 오류 로그를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿