프로그램이 온라인에서 실행 중일 때 BUG가 발생하여 프런트 엔드에 오류 메시지가 출력되는 것을 피하고 적시에 이메일로 개발자에게 알리고 싶다면 register_shutdown_function
기능이 들어올 수 있습니다. 능숙한. register_shutdown_function
函数就可以派上用场了。
注册一个会在脚本执行完成或者 exit() 后被调用的函数。
可以多次调用register_shutdown_function()
,这些被注册的回调会按照他们注册时的顺序被依次调用。 如果你在注册的方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用。
register_shutdown_function
函数,当我们的脚本执行完成或意外死掉导致PHP执行即将关闭时,我们的这个函数将会 被调用,可以配合 error_get_last
register_shutdown_function()
은 여러 번 호출할 수 있으며, 이렇게 등록된 콜백은 등록된 순서대로 순차적으로 호출됩니다. 등록된 메서드 내에서 exit()를 호출하면 모든 처리가 중단되고 등록된 다른 중단 콜백은 다시 호출되지 않습니다.
register_shutdown_function
함수, 스크립트 실행이 완료되거나 예기치 않게 종료되어 PHP 실행이 종료되는 경우 함수가 호출되며 error_get_last
와 함께 사용할 수 있습니다. . 오류 메시지를 받습니다. register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
호출 가능한 콜백 함수
매개변수는 추가 매개변수를 전달하여 중단 함수에 매개변수를 전달할 수 있습니다.DEMO1:
//关闭错误报告 error_reporting(0); //实现自己的错误信息展示 register_shutdown_function(‘myShutdown‘); $debug = true; function myShutdown() { global $debug; // 无论错误是否发生,这句都会执行 echo ‘ERROR‘ , ‘<br/>‘; if (!$debug) { $error = error_get_last(); // todo 可以在这里做邮件发送提醒 或 错误日志收集 var_export($error); } }
// 回到函数带参数:记录当前请求URL $current_page = htmlspecialchars($_SERVER[‘SCRIPT_NAME‘], ENT_QUOTES, ‘UTF-8‘); $current_page .= $_SERVER[‘QUERY_STRING‘] ? ‘?‘.htmlspecialchars($_SERVER[‘QUERY_STRING‘], ENT_QUOTES, ‘UTF-8‘) : ‘‘; register_shutdown_function(function ($current_page) { //todo send email or log }, $current_page); error_get_last() //错误信息查看:http://php.net/manual/zh/errorfunc.constants.php
위 내용은 PHP 오류 처리 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!