프로그램 개발 중에 일부 프로그램 실행 오류가 자주 발생합니다. PHP는 프로그램의 오류 수준에 따라 다른 프롬프트를 표시합니다. 예를 들어 경고, 오류 등이 있지만 이러한 오류가 작은 오류인 경우 이러한 오류가 보고되지 않도록 할 수 있습니다. 이를 위해서는 이 장에서 설명한 대로 PHP의 오류 수준을 설정하는 방법을 사용해야 합니다.
PHP에서는 오류 수준을 설정하는 방법이 두 가지가 있습니다.
첫 번째 방법: 이런 방식으로 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를 제외한 모든 오류를 보고한다는 의미입니다. 이는 가장 일반적으로 사용되는 오류 보고 수준이기도 하며, 주의 클래스의 오류(예: 정의되지 않은 변수 사용)를 보고하지 않습니다.
저장하고 웹 서버를 다시 시작해야 적용됩니다.
둘째: error_reporting() 함수를 통해 오류 보고 수준을 설정합니다. 이렇게 설정하면 즉시 적용됩니다. 그러나 현재 스크립트의 error_reporting() 함수 호출 뒤의 영역에서만 가능합니다.
error_reporting() 함수의 구문은 다음과 같습니다.
int error_reporting ([ int $level ] )
level 매개변수는 오류 수준을 지정합니다. 설정하지 않으면 현재 오류 수준이 반환됩니다. 다음은 level 매개변수에 제공된 값입니다.
값 | 상수 | 설명 | |||||||||||||||||||||||||||||||||||||||||||||
1 | E_ERROR | 종료할 스크립트 오류
|
|||||||||||||||||||||||||||||||||||||||||||||
2 | E_WARNING | 런타임 중 경고 오류 보고(스크립트는 실행을 종료하지 않음) | |||||||||||||||||||||||||||||||||||||||||||||
4 | E_PARSE | 컴파일 시간 구문 분석 오류 보고 | |||||||||||||||||||||||||||||||||||||||||||||
8 | E_NOTICE | 알림 오류 보고, 스크립트에서 오류가 발생할 수 있음 | |||||||||||||||||||||||||||||||||||||||||||||
16 | E_CORE_ERROR | PHP 시작 시 초기화 과정 중 치명적인 오류가 발생했습니다. | |||||||||||||||||||||||||||||||||||||||||||||
32 | E_CORE_WARNING | PHP 시작 시 초기화 프로세스 중 경고(치명적이지 않은 오류)가 발생합니다. | |||||||||||||||||||||||||||||||||||||||||||||
64 | E_COMPILE_ERROR | 치명적인 컴파일 시간 오류가 발생했습니다. 이는 Zend 스크립팅 엔진에 의해 생성되는 E_ERROR와 같습니다. | |||||||||||||||||||||||||||||||||||||||||||||
128 | E_COMPILE_WARNING | 컴파일 시간 경고(치명적이지 않은 오류). 이는 Zend 스크립트 엔진에서 생성된 E_WARNING 경고와 같습니다. | |||||||||||||||||||||||||||||||||||||||||||||
256 | E_USER_ERROR | 사용자 정의 경고 메시지입니다. 이는 PHP 함수 Trigger_error(프로그래머가 설정한 E_WARNING 경고)를 사용하는 것과 같습니다. | |||||||||||||||||||||||||||||||||||||||||||||
512 | E_USER_WARNING | 사용자 정의 경고 메시지입니다. 이는 PHP 함수 Trigger_error(프로그래머가 설정한 E_WARNING 경고)를 사용하는 것과 같습니다. | |||||||||||||||||||||||||||||||||||||||||||||
1024 | E_USER_NOTICE | 사용자 정의 경고 메시지입니다. 이는 PHP 함수 Trigger_error(프로그래머가 설정한 E_WARNING 경고)를 사용하는 것과 같습니다. | |||||||||||||||||||||||||||||||||||||||||||||
2048 | E_STRICT | 인코딩 표준화 경고. 최적의 상호 운용성과 향후 호환성을 보장하기 위해 PHP가 코드 수정 방법을 제안할 수 있습니다. | |||||||||||||||||||||||||||||||||||||||||||||
4096 | E_RECOVERABLE_ERROR | 치명적인 오류를 캡처합니다. 이는 E_ERROR와 유사하지만 사용자 정의 핸들러(set_error_handler() 참조)를 통해 포착할 수 있습니다. | |||||||||||||||||||||||||||||||||||||||||||||
8191 | E_ALL | 모든 오류 및 경고(E_STRICT 제외)(E_STRICT는 PHP부터 E_ALL의 일부가 됨) 6.0) |
任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。
例子:
下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:
<?php //禁用错误报告 error_reporting(0); //报告运行时错误 error_reporting(E_ERROR | E_WARNING | E_PARSE); //报告所有错误 error_reporting(E_ALL); ?>
一个简单的例子是:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
他表示php错误,警告,语法错误,提醒都返错。
위 내용은 PHP에서 오류 수준을 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!