PHP에서 치명적인 오류를 발생시키는 방법: 먼저 "ob_start"를 열고 "tmp.php" 파일을 만든 다음 "short.php" 파일에 몇 가지 오류 코드를 작성하고 마지막으로 "tmp.php" 파일에 액세스합니다.
PHP는 치명적인 오류를 포착합니다
PHP 오류 로그를 기록하면 문제를 찾고 버그를 수정하는 데 효과적으로 도움이 될 수 있습니다. PHP는 오류와 예외를 포착하기 위해 set_error_handler 및 set_Exception_handler를 제공합니다. 그러나 set_error_handler는 E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, E_STRICT 및 기타 오류를 캡처할 수 없습니다. 일반적으로 치명적인 오류인 경우 PHP 인터프리터가 컴파일에 실패하게 됩니다. 당연히 이러한 오류는 포착할 수 없습니다. 그러나 몇 가지 방법을 사용하여 이러한 오류 메시지를 얻을 수 있습니다.
권장: "PHP 튜토리얼"
먼저 tmp.php를 생성하세요
<?php //error_reporting(0); ob_start(); set_error_handler('errorHandler'); register_shutdown_function( 'close' ); function 大专栏 php捕获致命错误class="hljs-title">close(){ ob_end_clean(); $error = error_get_last(); echo '<pre class="brush:php;toolbar:false">'; print_r($error); } require 'short.php';
그런 다음 short.php에
echo $a//고의로 세미콜론을 추가하지 않음
과 같은 오류 코드를 작성하세요. tmp.php를 방문하면 해당 페이지에는 PHP 자체의 오류 메시지가 표시되지 않고 close 메소드가 실행되는 것을 볼 수 있습니다. 위 코드에는 몇 가지 핵심 사항이 있습니다.
첫 번째, ob_start를 켭니다
두 번째: Register_shutdown_function을 사용하여 함수 등록
세 번째: error_get_last 함수를 사용하여 오류 정보 가져오기
넷째: PHP로 구문 분석한 첫 번째 파일은 치명적인 오류가 있어서는 안 됩니다. 그렇지 않으면 캡처할 수 없습니다. . 따라서 자체 프레임워크를 구축하거나 프레임워크를 선택할 때 단일 진입 방식을 사용하는 것이 가장 좋습니다
위 내용은 PHP에서 치명적인 오류를 잡는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!