PHP錯(cuò)誤處理函數(shù)register_shutdown_function使用示例
當(dāng)程序在線上運(yùn)行時(shí),如果遇到BUG,想不在前端輸出錯(cuò)誤信息,同時(shí)能及時(shí)郵件通知開(kāi)發(fā)者,register_shutdown_function函數(shù)就可以派上用場(chǎng)了。
注冊(cè)一個(gè)會(huì)在腳本執(zhí)行完成或者 exit() 后被調(diào)用的函數(shù)。
可以多次調(diào)用 register_shutdown_function()
,這些被注冊(cè)的回調(diào)會(huì)按照他們注冊(cè)時(shí)的順序被依次調(diào)用。 如果你在注冊(cè)的方法內(nèi)部調(diào)用 exit(), 那么所有處理會(huì)被中止,并且其他注冊(cè)的中止回調(diào)也不會(huì)再被調(diào)用。
register_shutdown_function
函數(shù),當(dāng)我們的腳本執(zhí)行完成或意外死掉導(dǎo)致PHP執(zhí)行即將關(guān)閉時(shí),我們的這個(gè)函數(shù)將會(huì) 被調(diào)用,可以配合 error_get_last 使用,獲取錯(cuò)誤信息。
register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
callable 回調(diào)函數(shù)
parameter 可以通過(guò)傳入額外的參數(shù)來(lái)將參數(shù)傳給中止函數(shù)
DEMO1:
//關(guān)閉錯(cuò)誤報(bào)告 error_reporting(0); //實(shí)現(xiàn)自己的錯(cuò)誤信息展示 register_shutdown_function(‘myShutdown‘); $debug = true; function myShutdown() { global $debug; // 無(wú)論錯(cuò)誤是否發(fā)生,這句都會(huì)執(zhí)行 echo ‘ERROR‘ , ‘<br/>‘; if (!$debug) { $error = error_get_last(); // todo 可以在這里做郵件發(fā)送提醒 或 錯(cuò)誤日志收集 var_export($error); } }
DEMO2
// 回到函數(shù)帶參數(shù):記錄當(dāng)前請(qǐng)求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() //錯(cuò)誤信息查看:http://php.net/manual/zh/errorfunc.constants.php
以上所述是小編給大家介紹的PHP錯(cuò)誤處理函數(shù)register_shutdown_function使用示例,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- PHP register_shutdown_function函數(shù)的深入解析
- php ignore_user_abort與register_shutdown_function 使用方法
- PHP register_shutdown_function()函數(shù)的使用示例
- php中__destruct與register_shutdown_function執(zhí)行的先后順序問(wèn)題
- PHP中使用register_shutdown_function函數(shù)截獲fatal error示例
- php register_shutdown_function函數(shù)詳解
- PHP中register_shutdown_function函數(shù)的基礎(chǔ)介紹與用法詳解
相關(guān)文章
php生成N個(gè)不重復(fù)的隨機(jī)數(shù)實(shí)例
使用php生成N個(gè)不重復(fù)的隨機(jī)數(shù)的實(shí)例方法2013-11-11PHP輸出當(dāng)前進(jìn)程所有變量/常量/模塊/函數(shù)/類的示例
PHP輸出當(dāng)前進(jìn)程所有變量、常量、模塊、函數(shù)、類的示例2013-11-11PHP在網(wǎng)頁(yè)中動(dòng)態(tài)生成PDF文件詳細(xì)教程
這篇文章主要介紹了PHP在網(wǎng)頁(yè)中動(dòng)態(tài)生成PDF文件詳細(xì)教程,本文用一個(gè)需求為引,詳細(xì)介紹每一步驟的做法,并配有大量圖片說(shuō)明,需要的朋友可以參考下2014-07-07Laravel Eloquent ORM 實(shí)現(xiàn)查詢表中指定的字段
今天小編就為大家分享一篇Laravel Eloquent ORM 實(shí)現(xiàn)查詢表中指定的字段,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10實(shí)例講解YII2中多表關(guān)聯(lián)的使用方法
最近工作中遇到了YII2多表關(guān)聯(lián)的相關(guān)問(wèn)題,發(fā)現(xiàn)網(wǎng)上這方面的資料并不多,所以想著自己整理下吧,方便自己在以后需要的時(shí)候或者有需要的朋友們參考學(xué)習(xí),下面這篇文章主要給大家介紹了關(guān)于YII2中多表關(guān)聯(lián)的使用方法,需要的朋友下面來(lái)一起看看吧。2017-07-07ThinkPHP框架實(shí)現(xiàn)定時(shí)執(zhí)行任務(wù)的兩種方法分析
這篇文章主要介紹了ThinkPHP框架實(shí)現(xiàn)定時(shí)執(zhí)行任務(wù)的兩種方法,結(jié)合實(shí)例形式分析了2種被動(dòng)執(zhí)行定時(shí)任務(wù)的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-09-09使用Laravel中的查詢構(gòu)造器實(shí)現(xiàn)增刪改查功能
這篇文章主要介紹了使用Laravel中的查詢構(gòu)造器實(shí)現(xiàn)增刪改查功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09php 文件上傳至OSS及刪除遠(yuǎn)程阿里云OSS文件
今天給大家介紹php 文件上傳至OSS及刪除遠(yuǎn)程阿里云OSS文件的方法,在刪除文件的時(shí)候大家記住千萬(wàn)不要帶域名,具體操作示例參考下本文2021-07-07PHP + plupload.js實(shí)現(xiàn)多圖上傳并顯示進(jìn)度條加刪除實(shí)例代碼
本篇文章主要介紹了PHP + plupload.js實(shí)現(xiàn)多圖上傳并顯示進(jìn)度條加刪除實(shí)例代碼。具有一定的參考價(jià)值,有興趣的可以了解一下。2017-03-03