最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分享一個(gè)php 的異常處理程序

 更新時(shí)間:2014年06月22日 11:01:21   投稿:hebedich  
給大家分享一個(gè)php的異常處理程序,功能很簡(jiǎn)單當(dāng)發(fā)生重大錯(cuò)誤時(shí),寫(xiě)日志并友好提示用戶,用處卻很大,對(duì)不對(duì)

直接上代碼

<?php
//exceptionHandle.php xiecongwen 20140620
//define('DEBUG',true);
/**
* Display all errors when APPLICATION_ENV is development.
*/
if (defined('DEBUG')) {
error_reporting(E_ALL);
ini_set("display_errors", 1);
}
if(!defined('DEBUG')){
/**
* 當(dāng)發(fā)生重大錯(cuò)誤時(shí) 寫(xiě)日志 并友好提示用戶
* (PS:只所以將代碼寫(xiě)在這里,是因?yàn)樵谄渌胤阶?cè)時(shí),出現(xiàn)問(wèn)題無(wú)法調(diào)用配置函數(shù).待完善...)
*/
function shutdownHandler()
{
/**
* 寫(xiě)日志 此處直接寫(xiě)在根目錄下shutdownlog.txt
*/
$lasterror = error_get_last();
if($lasterror){
$error = strval(date("Y-m-d h:i:s")).'=>'."[SHUTDOWN] lvl:" . $lasterror['type'] . " | msg:" . $lasterror['message'] . " | file:" . $lasterror['file'] . " | ln:" . $lasterror['line']."\n";
file_put_contents('./log/'.date("Ymd").'shutdownlog.txt',$error,FILE_APPEND);
//友好提示用戶
ob_end_clean();
die('對(duì)不起,我出錯(cuò)了!');
}
}
register_shutdown_function('shutdownHandler');
}
if(!defined('DEBUG')){
 
function errorHandler($errno, $errstr = '', $errfile = '', $errline = 0)
{
//寫(xiě)日志
$exception = new \ErrorException($errstr, 0, $errno, $errfile, $errline);
$msg = strval(date("Y-m-d h:i:s")).'=>'.'Type:'.getErrTypeName($errno).' '.getMsg($exception);
file_put_contents('./log/'.date("Ymd").'error.txt',$msg,FILE_APPEND);
switch ($errno)
{
case E_NOTICE:return ;
case E_DEPRECATED:return;
}
throw $exception;
}
function getErrTypeName($errno)
{
switch ($errno)
{
case E_NOTICE:return 'E_NOTICE' ;
case E_DEPRECATED:return 'E_DEPRECATED';
default:return $errno;
}
}
function exceptionHandler($ex)
{
$msg = strval(date("Y-m-d h:i:s")).'=>'.getMsg($ex);
file_put_contents('./log/'.date("Ymd").'exception.txt',$msg,FILE_APPEND);
}
function getMsg($exception)
{
//獲取最準(zhǔn)確的異常 
while($exception->getPrevious())$exception = $exception->getPrevious();
$msg = ' Message: '.$exception->getMessage();
$msg .= ' File: '.$exception->getFile().':'.$exception->getLine()."\n";
return $msg;
}
set_error_handler('errorHandler',E_ALL);
set_exception_handler('exceptionHandler');
}
?>

相關(guān)文章

  • PHP采集類snoopy詳細(xì)介紹(snoopy使用教程)

    PHP采集類snoopy詳細(xì)介紹(snoopy使用教程)

    這篇文章主要介紹了PHP采集類snoopy詳細(xì)介紹,PHP采集類snoopy的詳細(xì)使用教程,需要的朋友可以參考下
    2014-06-06
  • Laravel中schedule調(diào)度的運(yùn)行機(jī)制

    Laravel中schedule調(diào)度的運(yùn)行機(jī)制

    本文主要介紹了Laravel中schedule調(diào)度的運(yùn)行機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • CI框架AR操作(數(shù)組形式)實(shí)現(xiàn)插入多條sql數(shù)據(jù)的方法

    CI框架AR操作(數(shù)組形式)實(shí)現(xiàn)插入多條sql數(shù)據(jù)的方法

    這篇文章主要介紹了CI框架AR操作實(shí)現(xiàn)插入多條sql數(shù)據(jù)的方法,結(jié)合簡(jiǎn)單實(shí)例形式分析了CI框架使用數(shù)組實(shí)現(xiàn)多條數(shù)據(jù)插入的方法,需要的朋友可以參考下
    2016-05-05
  • 判斷、添加和刪除WordPress置頂文章的相關(guān)PHP函數(shù)小結(jié)

    判斷、添加和刪除WordPress置頂文章的相關(guān)PHP函數(shù)小結(jié)

    這篇文章主要介紹了判斷、添加和刪除WordPress置頂文章的相關(guān)PHP函數(shù)小結(jié),需要的朋友可以參考下
    2015-12-12
  • PHP內(nèi)核探索之變量

    PHP內(nèi)核探索之變量

    php變量由變量名,類型,內(nèi)容等部分組成,本文給大家分享php內(nèi)核探索之變量,對(duì)php內(nèi)核探索相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • centos 7系統(tǒng)下安裝laravel運(yùn)行環(huán)境的步驟詳解

    centos 7系統(tǒng)下安裝laravel運(yùn)行環(huán)境的步驟詳解

    Laravel框架對(duì)于開(kāi)發(fā)網(wǎng)頁(yè)應(yīng)用來(lái)說(shuō)是一個(gè)絕好的的工具,最近正好又在學(xué)習(xí)linux系統(tǒng),所以下面這篇文章主要給大家介紹了在centos 7系統(tǒng)下安裝laravel運(yùn)行環(huán)境的步驟,需要的朋友可以參考借鑒,下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • ECSHOP在PHP5.5及高版本上報(bào)錯(cuò)的解決方法

    ECSHOP在PHP5.5及高版本上報(bào)錯(cuò)的解決方法

    程序不斷的更新?lián)Q代,php版本也在不斷的推陳出新,自從php7.0推出,php5.5版本已落伍,但是目前使用php5.5的也不少,接下來(lái),小編給大家整理關(guān)于ECSHOP在PHP5.5及高版本上報(bào)錯(cuò)的解決方法,小伙伴們一起來(lái)學(xué)習(xí)吧
    2015-08-08
  • PHP面向?qū)ο笾衝ew self()與 new static()的區(qū)別淺析

    PHP面向?qū)ο笾衝ew self()與 new static()的區(qū)別淺析

    new static()是在PHP5.3版本中引入的新特性,無(wú)論是new static()還是new self(),都是new了一個(gè)新的對(duì)象。下面這篇文章主要給大家介紹了關(guān)于PHP面向?qū)ο笾衝ew self()與 new static()的區(qū)別,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-08-08
  • 通過(guò)源碼解析Laravel的依賴注入

    通過(guò)源碼解析Laravel的依賴注入

    這篇文章主要給大家介紹了如何通過(guò)源碼解析Laravel的依賴注入的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • php生成短網(wǎng)址示例

    php生成短網(wǎng)址示例

    這篇文章主要介紹了php生成短網(wǎng)址示例,需要的朋友可以參考下
    2014-05-05

最新評(píng)論

泰州市| 陵川县| 漳平市| 信丰县| 鄯善县| 呼伦贝尔市| 金坛市| 尉氏县| 常德市| 洛扎县| 兴仁县| 合作市| 佳木斯市| 安化县| 阳信县| 淄博市| 南澳县| 遂溪县| 青阳县| 连州市| 湖口县| 垦利县| 邯郸县| 香格里拉县| 永宁县| 罗江县| 无锡市| 富宁县| 慈利县| 天峻县| 南雄市| 板桥市| 永定县| 江油市| 米脂县| 婺源县| 法库县| 常山县| 瓮安县| 鸡西市| 东至县|