>백엔드 개발 >PHP 튜토리얼 >PHP 오류 처리 기능

PHP 오류 처리 기능

王林
王林원래의
2019-10-12 11:46:292603검색

PHP 오류 처리 기능

프로그램이 온라인에서 실행 중일 때 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);
 }
}
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 비디오 튜토리얼🎜🎜🎜

위 내용은 PHP 오류 처리 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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