수정 방법: 1. php.ini에서 "error_reporting" 항목의 값을 찾아 수정한 후 웹 서버를 다시 시작합니다. 2. PHP 파일에서 "error_reporting(level)" 문을 사용하여 수정합니다. 매개변수 level은 현재 스크립트의 오류 보고 수준을 지정하는 데 사용됩니다.
이 튜토리얼의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!