PHP에서는 "set_error_handler()" 함수를 통해 오류 처리를 사용자 정의할 수 있습니다. 이 함수의 기능은 "set_error_handler(callable $error_handler...)와 같은 다른 함수를 지정하는 것입니다. ".
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP에서 오류 프롬프트를 사용자 정의하는 방법
PHP set_error_handler()
: 사용자 정의 오류 처리 기능
PHP는 set_error_handler를 제공합니다. () 함수, 이 함수를 사용하면 오류 처리 함수로 다른 함수를 지정할 수 있습니다. 구문은 다음과 같습니다.
set_error_handler(callable $error_handler [, int $error_types = E_ALL | E_STRICT ])
매개변수 설명
1) $error_handler는 사용자 정의 함수 이름에 추가로 전달됩니다. 함수 이름에는 NULL을 전달할 수도 있습니다. 핸들러를 기본 상태로 재설정하려면 참조 개체 및 개체 메서드 이름의 배열을 전달할 수도 있습니다.
사용자 정의 함수의 형식은 다음과 같습니다.
error_handler(int $errno , string $errstr [, string $errfile [, int $errline [, array $errcontext ]]])
그 중:
첫 번째 매개 변수 $errno는 오류 수준을 나타내며 정수 유형입니다.
두 번째 매개 변수 $errstr은 오류 정보를 나타냅니다.
세 번째 매개변수 $errfile은 오류가 발생한 파일 이름을 나타내는 선택적 매개변수이며 문자열 유형입니다.
네 번째 매개변수 $errline도 행 번호를 나타내는 선택적 매개변수입니다. 오류가 발생한 위치는 정수 유형입니다.
5번째 매개변수인 $errcontext는 오류가 발생할 때 활성 기호 테이블의 배열을 나타내는 선택적 매개변수이기도 합니다(PHP7.2.0 이후에는 사용되지 않음). 즉, $errcontext에는 오류가 발생한 범위의 모든 변수 배열이 포함됩니다. 사용자의 오류 처리기는 오류 컨텍스트를 수정해서는 안 됩니다.
참고: set_error_handler() 함수가 FALSE를 반환하면 표준 오류 처리기가 계속 호출됩니다.
2) $error_types 매개변수는 오류 표시를 제어할 수 있는 php.ini 구성 파일의 error_reporting과 같습니다. 이 매개변수는 $error_handler의 트리거를 차단하는 데 사용할 수 있습니다. 이 마스크가 없으면 $error_reporting 설정 방법에 관계없이 모든 오류에 대해 $error_handler가 호출됩니다.
이전에 오류 핸들러가 정의된 경우 프로그램 이름이 반환되고, 내장된 오류 핸들러인 경우 NULL이 반환됩니다. 잘못된 콜백 함수를 지정하면 NULL도 반환됩니다. 이전 오류 처리기가 클래스 메서드인 경우 이 함수는 클래스 및 메서드 이름이 포함된 인덱스 배열을 반환합니다.
【예시】오류 처리 기능을 사용자 정의하고 이를 사용하여 프로그램의 오류를 처리합니다.
<?php function error_handler($errno, $errstr, $errfile, $errline ) { echo "error number:".$errno."<br/>"; echo "error msg:".$errstr."<br/>"; echo "error file:".$errfile."<br/>"; echo "error line:".$errline."<br/>"; die('something error'); } set_error_handler("error_handler"); strpos(); ?>
실행 결과는 다음과 같습니다.
error number:2 error msg:strpos() expects at least 2 parameters, 0 given error file:D:\WWW\index.php error line:10 something error
참고: 오류 처리 기능에서 프로그램 실행이 종료되지 않으면 프로그램은 오류가 발생한 다음 줄을 계속 실행합니다. 이므로 프로그램을 종료하려면 die() 함수를 사용해야 합니다.
또한 이 오류 처리 방법은 프로그램 오류의 모든 수준을 처리할 수는 없습니다. E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING 및 E_STRICT 섹션의 오류는 원래 형식으로 표시됩니다.
set_error_handler() 고급
PHP의 예외 처리 메커니즘은 완벽하지 않으며 자동으로 예외를 발생시킬 수 없습니다. 사용자는 또한 set_error_handler()를 사용하여 예외를 오류로 처리할 수 있으므로 사용자는 사용자 정의 오류를 사용할 수 있습니다. 핸들러 기능은 자동으로 예외를 포착합니다.
【예시】사용자 정의 오류 처리 기능을 사용하여 예외를 자동으로 포착합니다.
<?php function error_handler($errno, $errstr, $errfile, $errline ) { echo "error number:".$errno."<br/>"; echo "error msg:".$errstr."<br/>"; echo "error file:".$errfile."<br/>"; echo "error line:".$errline."<br/>"; die('something error'); } set_error_handler("error_handler"); /* 触发异常 */ try { $a = 5/0; echo $a; } catch(Exception $e) { echo $e->getMessage(); } ?>
실행 결과는 다음과 같습니다.
error number:2 error msg:Division by zero error file:D:\WWW\index.php error line:12 something error
프로그램이 12행의 $a = 5/0; 문으로 실행되면 프로그램은 자동으로 이 예외를 포착하고 사용자 정의 함수로 처리합니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 오류 프롬프트를 사용자 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

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

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

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

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

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

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

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


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

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

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구
