찾다
백엔드 개발PHP 튜토리얼PHP에서 오류 수준을 설정하는 방법은 무엇입니까?

프로그램 개발 중에 일부 프로그램 실행 오류가 자주 발생합니다. 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 종료할 스크립트 오류
常量 说明
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 will be part of E_ALL as of PHP 6.0)
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)

PHP에서 오류 수준을 설정하는 방법은 무엇입니까? 任意数目的以上选项都可以用“或”来连接(用 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php怎么实现几秒后执行一个函数php怎么实现几秒后执行一个函数Apr 24, 2022 pm 01:12 PM

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php怎么除以100保留两位小数php怎么除以100保留两位小数Apr 22, 2022 pm 06:23 PM

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

php怎么根据年月日判断是一年的第几天php怎么根据年月日判断是一年的第几天Apr 22, 2022 pm 05:02 PM

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php怎么替换nbsp空格符php怎么替换nbsp空格符Apr 24, 2022 pm 02:55 PM

方法:1、用“str_replace("&nbsp;","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\&nbsp\;||\xc2\xa0)/","其他字符",$str)”语句。

php字符串有没有下标php字符串有没有下标Apr 24, 2022 am 11:49 AM

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php怎么设置implode没有分隔符php怎么设置implode没有分隔符Apr 18, 2022 pm 05:39 PM

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전