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

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

Jun 02, 2021 pm 06:38 PM
php오류 수준

PHP에서는 error_reporting() 함수를 사용하여 보고할 오류를 지정할 수 있습니다. 구문 형식은 "error_reporting(level)"입니다. 매개변수 수준은 현재 오류 보고 수준을 지정합니다. 스크립트. 값 번호와 상수 이름이 모두 허용됩니다.

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

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

php.ini에서 오류에 대한 서버의 경보 수준을 설정할 수 있습니다. 기본적으로 PHP는 알림을 제외한 모든 오류를 보고합니다.

오류 보고 수준은 미리 정의된 일부 상수를 통해 설정됩니다.

Syntax

int error_reporting ( [int 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    报告编译错误
128         E_COMPILE_WARNING    报告编译时出现的非致命错误

256         E_USER_ERROR        报告用户触发的错误
512         E_USER_WARNING    报告用户触发的警告

1024          E_USER_NOTICE        报告用户触发的通告
2047       E_ALL            报告所有的错误和警告
2048       E_STRICT        报告不赞成的用法和不推荐的行为

php.ini 파일에서 기본 보고서는 다음 명령문으로 설정된 알림을 제외한 모든 오류입니다.

error_reporting = E_ALL & ~ (E_NOTICE)

위의 표현식에서 "&" 기호는 여러 조건의 병치를 나타내고 "~"는 부정을 나타내며 NOT을 의미합니다.

경고 메시지를 무시하려면 다음 명령문을 설정하면 됩니다.

   error_reporting = E_ALL & ~(E_NOTICE) & ~(E_WARNING)

ini 파일에서 오류 관련 설정은 다음과 같습니다:

(1) error_reporting, 오류 수준 설정

(2) display_errors, 오류 보고서 표시 여부, 열기로 설정, 설정 모든 오류를 닫으려면 OFF로 설정하세요. 팁

(3)log_errors, 기본 설정은 OFF입니다.

(4)track_errors, 기본 설정은 OFF입니다. 이 옵션은 오히려 코드의 오류를 해결하는 데 도움이 될 수 있습니다. PHP가 기본 기능을 제공하도록 하는 것보다 말이죠.

인터넷에서 수집:

E_NOTICE 表示一般情形不记录,只有程式有错误情形时才用到,例如企图存取一个不存在的变数,或是呼叫 stat() 函式检视不存在的档案。

E_WARNING 通常都会显示出来,但不会中断程式的执行。这对除错很有效。例如:用有问题的常规表示法呼叫 ereg()。
E_ERROR 通常会显示出来,亦会中断程式执行。意即用这个遮罩无法追查到记忆体配置或其它的错误。
E_PARSE 从语法中剖析错误。
E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。
E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。

PHP 오류 보고서

php.ini 파일에는 많은 구성 설정이 있습니다. Linux에 PHP를 설치하는 것과 마찬가지로 php.ini 파일이 이미 설정되어 적절한 디렉터리에 배치되어 있어야 합니다. Apache 2 문서에 표시된 대로. PHP 애플리케이션을 디버깅할 때 알아야 할 두 가지 구성 변수가 있습니다. 두 변수와 해당 기본값은 다음과 같습니다.

display_errors = Off
error_reporting = E_ALL

이 두 변수의 현재 기본값은 php.ini 파일에서 검색하여 확인할 수 있습니다. display_errors 변수의 목적은 분명합니다. 이는 PHP에게 오류를 표시할지 여부를 알려줍니다. 기본값은 끄기입니다. 그러나 개발 프로세스를 더 쉽게 하려면 이 값을 On으로 설정하세요.

display_errors = On

error_reporting 변수의 기본값은 E_ALL입니다. 이 설정은 잘못된 코딩 관행부터 무해한 팁, 오류까지 모든 것을 보여줍니다. E_ALL 브라우저의 출력을 엉망으로 만드는 작은 일(예: 변수가 초기화되지 않음)에 대한 힌트도 화면에 표시하므로 개발하기에는 너무 세분화되어 있습니다. 나는 단지 오류와 잘못된 코딩 관행을 보고 싶지만 그렇지 않습니다. 무해한 힌트. 따라서 error_reporting의 기본값을 다음 값으로 바꾸십시오.

error_reporting = E_ALL & ~E_NOTICE

Apache를 다시 시작하면 모든 설정이 완료됩니다. 다음으로 Apache에서 동일한 작업을 수행하는 방법을 알아봅니다.

서버 오류 보고

는 Apache가 수행하는 작업에 따라 달라지며, 컴퓨터에 여러 PHP 버전이 있을 수 있으므로 PHP에서 오류 보고를 켜는 것이 작동하지 않을 수 있습니다. Apache는 하나의 php.ini 파일만 볼 수 있기 때문에

Apache가 어떤 PHP 버전을 사용하고 있는지 알기 어려울 때가 있습니다. 어떤 Apache가 사용 중인지 확실하지 않음 php.ini 파일 구성 자체가 보안 문제입니다. 그러나 올바른 오류 수준이 설정되도록 Apache에서 PHP 변수를 구성하는 방법이 있습니다.

또한 서버 측에서 이러한 구성 변수를 설정하여 php.ini 파일을 재정의하거나 선점하여 더 높은 수준의 보안을 제공하는 방법을 아는 것이 좋습니다.

Apache를 구성할 때 /conf/httpd.conf에 있는 http.conf 파일의 기본 구성에 이미 노출되어 있어야 합니다.

php.ini 파일에서 이미 수행된 작업을 수행하려면 httpd.conf에 다음 줄을 추가하여 모든 php.ini 파일을 덮어씁니다:

php_flag   display_errors         on
php_value error_reporting       2039

이것은 php.ini 파일 플래그의 display_errors에 대한 모든 설정을 재정의합니다. error_reporting의 값입니다. 가치 2039 E_ALL 및 ~E_NOTICE를 나타냅니다. E_ALL을 사용하려면 값을 2047로 설정하세요. 이번에도 Apache를 다시 시작해야 합니다.

다음으로 서버에서 오류 보고를 테스트합니다.

error_reporting() 함수와 관련하여 일부 오류 메시지를 보호할 수 있지만 PHP 코어로 인해 발생한 오류는 보호할 수 없습니다. 왜냐하면 PHP 코어로 인해 발생한 오류는 직접적으로 PHP 파일 컴파일 실패를 초래하기 때문입니다. 코딩 규칙 작성으로 인해 발생하는 PHP 오류는 차단할 수 없습니다

일반적인 오류는 다음과 같습니다.

 // Turn off all error reporting;关闭所有的错误
error_reporting(0);
// Report simple running errors;报告一个简单的运行错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings …);包括报告一些未初始化的变量或捕捉变量名的拼写错误
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini;报告所有的错误但不包括E_NOTICE
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors (bitwise 63 may be used in PHP 3);报告所有的错误
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);同上
ini_set(’error_reporting’, E_ALL);

추천 학습: "PHP 비디오 튜토리얼"

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

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
산과 기본 데이터베이스 : 차이 및 각각을 사용 해야하는시기.산과 기본 데이터베이스 : 차이 및 각각을 사용 해야하는시기.Mar 26, 2025 pm 04:19 PM

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

PHP 보안 파일 업로드 : 파일 관련 취약점 방지.PHP 보안 파일 업로드 : 파일 관련 취약점 방지.Mar 26, 2025 pm 04:18 PM

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

PHP 입력 유효성 검증 : 모범 사례.PHP 입력 유효성 검증 : 모범 사례.Mar 26, 2025 pm 04:17 PM

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

PHP API 요율 제한 : 구현 전략.PHP API 요율 제한 : 구현 전략.Mar 26, 2025 pm 04:16 PM

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

PHP 비밀번호 해싱 : password_hash 및 password_verify.PHP 비밀번호 해싱 : password_hash 및 password_verify.Mar 26, 2025 pm 04:15 PM

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

OWASP Top 10 PHP : 일반적인 취약점을 설명하고 완화하십시오.OWASP Top 10 PHP : 일반적인 취약점을 설명하고 완화하십시오.Mar 26, 2025 pm 04:13 PM

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

PHP XSS 예방 : XSS로부터 보호하는 방법.PHP XSS 예방 : XSS로부터 보호하는 방법.Mar 26, 2025 pm 04:12 PM

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

PHP 인터페이스 대 추상 클래스 : 각각을 사용할 때.PHP 인터페이스 대 추상 클래스 : 각각을 사용할 때.Mar 26, 2025 pm 04:11 PM

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다

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를 무료로 생성하십시오.

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

DVWA

DVWA

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

SublimeText3 영어 버전

SublimeText3 영어 버전

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

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)