>백엔드 개발 >PHP 문제 >PHP에서 오류 수준을 수정하는 방법

PHP에서 오류 수준을 수정하는 방법

青灯夜游
青灯夜游원래의
2021-05-25 17:41:442900검색

수정 방법: 1. php.ini에서 "error_reporting" 항목의 값을 찾아 수정한 후 웹 서버를 다시 시작합니다. 2. PHP 파일에서 "error_reporting(level)" 문을 사용하여 수정합니다. 매개변수 level은 현재 스크립트의 오류 보고 수준을 지정하는 데 사용됩니다.

PHP에서 오류 수준을 수정하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

오류 보고 수준: 어떤 상황에서 스크립트 코드의 오류가 발생하는지 지정합니다. 여기서 오류는 E_NOTICE, E_WARNING을 포함한 광범위한 오류입니다. , E_ERROR 치명적인 오류 등)이 오류 보고서 형식으로 출력됩니다.

php

1. PHP 구성 파일 php.ini를 수정하세요

이렇게 error_reporting을 설정하신 후 웹 서버를 다시 시작하시면 영구적으로 적용됩니다.

xampp 통합 소프트웨어 패키지를 예로 들면, 구성 파일 php.ini를 열고 다음과 같이 오류 보고 수준 error_reporting의 기본값을 확인하세요.

error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

는 E_DEPRECATED 및 E_STRICT를 제외한 모든 오류를 보고하는 것을 의미합니다.

다음으로 변경:

error_reporting=E_ALL &  ~E_NOTICE

E_NOTICE를 제외한 모든 오류를 보고한다는 의미입니다. 이는 가장 일반적으로 사용되는 오류 보고 수준이기도 하며, 주의 클래스의 오류(예: 정의되지 않은 변수 사용)를 보고하지 않습니다.

저장하면 웹 서버를 다시 시작한 후에 적용됩니다.

2. error_reporting() 함수를 사용하세요.

이렇게 설정하면 바로 적용됩니다. 그러나 현재 스크립트의 error_reporting() 함수 호출 뒤의 영역에서만 가능합니다.

error_reporting(level)

level 매개변수는 현재 스크립트의 오류 보고 수준을 지정하며 생략 가능합니다. 값 번호와 상수 이름 모두 허용되지만 향후 PHP 버전과의 호환성을 위해 상수 이름을 사용하는 것이 좋습니다.

레벨 매개변수는 정수 또는 해당 상수 식별자일 수 있습니다. 상수 형식을 사용하는 것이 좋습니다. 반환 값은 현재 위치에서 유효한 오류 보고 수준의 값(정수 값)입니다.

다음은 몇 가지 오류 보고 수준입니다.

Constant Description
1 E_ERROR 런타임에 치명적인 오류가 발생했습니다. 수정할 수 없는 오류입니다. 스크립트 실행을 중지합니다.
2 E_WARNING 런타임에 치명적이지 않은 오류가 발생했습니다. 스크립트 실행이 중지되지 않습니다.
4 E_PARSE 컴파일 중 구문 분석 오류가 발생했습니다. 구문 분석 오류는 구문 분석기에 의해서만 생성되어야 합니다.
8 E_NOTICE 런타임 알림. 스크립트 검색은 버그일 수 있지만 스크립트를 정상적으로 실행할 때도 발생할 수 있습니다.
16 E_CORE_ERROR PHP를 시작할 때 치명적인 오류가 발생했습니다. 이는 PHP 코어의 E_ERROR와 같습니다.
32 E_CORE_WARNING PHP 시작 시 치명적이지 않은 오류가 발생했습니다. 이는 PHP 코어의 E_WARNING과 같습니다.
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 캐치 가능한 치명적인 오류입니다. 이는 사용자 정의 핸들(set_error_handler() 참조)에 의해 포착될 수 있는 E_ERROR와 같습니다.
8191 E_ALL E_STRICT를 제외한 모든 오류 및 경고 수준(PHP 6.0부터 E_STRICT는 E_ALL의 일부가 됩니다).

示例:

error_reporting(E_ALL ^ E_NOTICE);    // 除了E_NOTICE之外,报告所有的错误
error_reporting(E_ERROR);       // 只报告致命错误
echo error_reporting(E_ERROR | E_WARNING | E_NOTICE);   // 只报告E_ERROR、E_WARNING 和 E_NOTICE三种错误

注意:配置文件php.ini中display_errors的默认值为On,代表显示错误提示,如果设置为Off,就会关闭所有的错误提示。

使用 error_reporting(0) 或者在函数前面加 @,可以抑制错误输出,以防止错误消息泄露敏感信息。 

推荐学习:《PHP视频教程

위 내용은 PHP에서 오류 수준을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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