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('./test.php'); $flag = true;
프로그램 진입시 플래그를 false로 설정하고 마지막으로 true로 설정하여 프로그램이 정상적으로 실행됨을 나타냅니다. 마지막에 플래그가 true가 아니면 중간에 사망했음을 의미합니다. 이때 Register_shutdown_function이 호출되어 사용자 정의된 오류 결과를 출력합니다.
위 클래스가 정의되지 않으면 존재하지 않는 파일이 유입되거나(require 또는 require_once를 사용해야 함) 등 치명적인 오류가 발생합니다. 물론, 프로그램에 구두점이 없거나 추가 특수 문자 등이 있는 경우에는 할 수 있는 일이 없습니다.
관련 권장 사항:
위 내용은 PHP가 치명적인 오류 인스턴스를 가로챕니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!