>  기사  >  백엔드 개발  >  PHP가 치명적인 오류 인스턴스를 가로챕니다.

PHP가 치명적인 오류 인스턴스를 가로챕니다.

*文
*文원래의
2017-12-27 09:46:161491검색

PHP에서 치명적인 오류를 차단하는 방법은 무엇입니까? 이 글에서는 PHP의 치명적인 오류를 차단하기 위해 Register_shutdown_function 함수를 사용하는 예제를 주로 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다.

프로젝트를 진행하다 보면 부주의로 인해 치명적인 오류가 발생하는 경우가 가끔 있습니다. display_errors가 off로 설정되면 사용자에게 빈 페이지가 표시됩니다. On으로 설정하면 치명적인 오류 정보가 표시됩니다(물론 일반 사람들은 이런 작업을 하지 않습니다).

그렇다면 치명적인 오류를 사전에 차단하고 사용자 친화적인 형태로 사용자에게 피드백할 수 있는 방법은 없을까요? PHP에는 실행이 종료될 때 호출할 수 있는 다른 함수를 설정할 수 있게 해주는 Register_shutdown_function이라는 함수가 있습니다. 즉, 스크립트 실행이 완료되거나 예기치 않게 종료되어 PHP 실행이 곧 종료될 때입니다. 이 함수가 호출됩니다.
아래 예시를 참고하세요:

<?php
$flag = false;
function deal_error(){
    global $flag;
    if (!$flag){
        die("粗问题啦,请稍后再试");
    }
    return false;
}
register_shutdown_function("deal_error");
//将因为致命错误而失败
//$obj = new NotExistClass(); //引入未定义的类
require(&#39;./test.php&#39;);
$flag = true;


프로그램 진입시 플래그를 false로 설정하고 마지막으로 true로 설정하여 프로그램이 정상적으로 실행됨을 나타냅니다. 마지막에 플래그가 true가 아니면 중간에 사망했음을 의미합니다. 이때 Register_shutdown_function이 호출되어 사용자 정의된 오류 결과를 출력합니다.

위 클래스가 정의되지 않으면 존재하지 않는 파일이 유입되거나(require 또는 require_once를 사용해야 함) 등 치명적인 오류가 발생합니다. 물론, 프로그램에 구두점이 없거나 추가 특수 문자 등이 있는 경우에는 할 수 있는 일이 없습니다.

관련 권장 사항:

php 오류 유형 및 보호 방법에 대한 자세한 설명

php 자세한 오류 처리 메커니즘 예제

php 오류 메시지 구성

위 내용은 PHP가 치명적인 오류 인스턴스를 가로챕니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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