PHP錯誤處理函數register_shutdown_function使用示例
當程序在線上運行時,如果遇到BUG,想不在前端輸出錯誤信息,同時能及時郵件通知開發(fā)者,register_shutdown_function函數就可以派上用場了。
注冊一個會在腳本執(zhí)行完成或者 exit() 后被調用的函數。
可以多次調用 register_shutdown_function() ,這些被注冊的回調會按照他們注冊時的順序被依次調用。 如果你在注冊的方法內部調用 exit(), 那么所有處理會被中止,并且其他注冊的中止回調也不會再被調用。
register_shutdown_function 函數,當我們的腳本執(zhí)行完成或意外死掉導致PHP執(zhí)行即將關閉時,我們的這個函數將會 被調用,可以配合 error_get_last 使用,獲取錯誤信息。
register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
callable 回調函數
parameter 可以通過傳入額外的參數來將參數傳給中止函數
DEMO1:
//關閉錯誤報告
error_reporting(0);
//實現自己的錯誤信息展示
register_shutdown_function(‘myShutdown‘);
$debug = true;
function myShutdown() {
global $debug;
// 無論錯誤是否發(fā)生,這句都會執(zhí)行
echo ‘ERROR‘ , ‘<br/>‘;
if (!$debug) {
$error = error_get_last();
// todo 可以在這里做郵件發(fā)送提醒 或 錯誤日志收集
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 register_shutdown_function函數的深入解析
- php ignore_user_abort與register_shutdown_function 使用方法
- PHP register_shutdown_function()函數的使用示例
- php中__destruct與register_shutdown_function執(zhí)行的先后順序問題
- PHP中使用register_shutdown_function函數截獲fatal error示例
- php register_shutdown_function函數詳解
- PHP中register_shutdown_function函數的基礎介紹與用法詳解
相關文章
Laravel Eloquent ORM 實現查詢表中指定的字段
今天小編就為大家分享一篇Laravel Eloquent ORM 實現查詢表中指定的字段,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
ThinkPHP框架實現定時執(zhí)行任務的兩種方法分析
這篇文章主要介紹了ThinkPHP框架實現定時執(zhí)行任務的兩種方法,結合實例形式分析了2種被動執(zhí)行定時任務的相關操作技巧與注意事項,需要的朋友可以參考下2018-09-09
PHP + plupload.js實現多圖上傳并顯示進度條加刪除實例代碼
本篇文章主要介紹了PHP + plupload.js實現多圖上傳并顯示進度條加刪除實例代碼。具有一定的參考價值,有興趣的可以了解一下。2017-03-03

