>  기사  >  백엔드 개발  >  PHP Register_shutdown_function 함수 사용에 대한 자세한 설명

PHP Register_shutdown_function 함수 사용에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-04 11:44:421512검색

이 글은 주로 PHP를 소개합니다오류 처리register_shutdown_function 함수의 사용 예, 필요한 친구들이 참고하면 됩니다

프로그램이 온라인에서 실행 중일 때 BUG가 발생하면 ​​오류 메시지가 출력되지 않도록 하고 싶습니다. 프런트 엔드에서 동시에 이메일을 제때에 보낼 수 있습니다. 개발자에게 Register_shutdown_function 기능이 유용할 수 있음을 알립니다.

스크립트 실행이 완료된 후 또는 종료() 후에 호출될 함수를 등록합니다.

register_shutdown_function()을 여러 번 호출할 수 있으며, 등록된 콜백은 등록된 순서대로 순차적으로 호출됩니다. 등록된 메서드 내에서 exit()를 호출하면 모든 처리가 중단되고 등록된 다른 중단 콜백은 다시 호출되지 않습니다. register_shutdown_function() ,这些被注册的回调会按照他们注册时的顺序被依次调用。 如果你在注册的方法内部调用 exit(), 那么所有处理会被中止,并且其他注册的中止回调也不会再被调用。

register_shutdown_functionregister_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);
  }
}
DEMO2

🎜
// 回到函数带参数:记录当前请求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 Register_shutdown_function 함수 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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