PHP錯誤處理函數(shù)怎么辦?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)建站是一家專業(yè)的成都網(wǎng)站建設公司,我們專注做網(wǎng)站、成都做網(wǎng)站、網(wǎng)絡營銷、企業(yè)網(wǎng)站建設,賣鏈接,1元廣告為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結構的規(guī)劃UI設計到用戶體驗提高,創(chuàng)新互聯(lián)力求做到盡善盡美。當程序在線上運行時,如果遇到BUG,想不在前端輸出錯誤信息,同時能及時郵件通知開發(fā)者,register_shutdown_function
函數(shù)就可以派上用場了。
注冊一個會在腳本執(zhí)行完成或者 exit() 后被調用的函數(shù)。
可以多次調用register_shutdown_function()
,這些被注冊的回調會按照他們注冊時的順序被依次調用。 如果你在注冊的方法內部調用 exit(), 那么所有處理會被中止,并且其他注冊的中止回調也不會再被調用。
register_shutdown_function
函數(shù),當我們的腳本執(zhí)行完成或意外死掉導致PHP執(zhí)行即將關閉時,我們的這個函數(shù)將會 被調用,可以配合 error_get_last
使用,獲取錯誤信息。
register_shutdown_function ( callable $callback [, mixed $parameter [, mixed $... ]] )
callable 回調函數(shù)
parameter可以通過傳入額外的參數(shù)來將參數(shù)傳給中止函數(shù)。
DEMO1:
//關閉錯誤報告 error_reporting(0); //實現(xiàn)自己的錯誤信息展示 register_shutdown_function(‘myShutdown‘); $debug = true; function myShutdown() { global $debug; // 無論錯誤是否發(fā)生,這句都會執(zhí)行 echo ‘ERROR‘ , ‘
‘; if (!$debug) { $error = error_get_last(); // todo 可以在這里做郵件發(fā)送提醒 或 錯誤日志收集 var_export($error); } }
DEMO2:
// 回到函數(shù)帶參數(shù):記錄當前請求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錯誤處理函數(shù)怎么辦的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。