亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 查看全部
    0 采集 收起 來源:簡介

    2018-04-09

  • 筆記鏈接:處理PHP中的錯誤

    查看全部
  • 查看全部
  • register_shutdown_function()函數是從內存中調用的,也就是PHP語句執行完之后(頁面已不存在了)再調用這個函數,所以寫路徑的時候已經脫離這個腳本了,所以file_put_contents()路徑要用絕對路徑

    ?error_get_last # 得到最后產生的錯誤


    注意:如果在register_shutdown_function() 之前有die/exit則不會被執行


    查看全部
    0 采集 收起 來源:E_USER_相關錯誤

    2018-04-09

  • require_once?'MyErrorHandler.php';
    error_reporting(-1);
    //使用MyErrorHandler類直接調用deal方法
    /**
    ?*?set_error_handler(array(類名/new?類名,方法名));
    ?*?set_error_handler(函數名);
    ?*/
    set_error_handler(array('MyErrorHandler','deal'));
    
    //通知級別錯誤
    echo?$test;
    //警告級別錯誤
    settype($var,'king');
    //致命錯誤
    //test();
    
    //總結:手動拋出的信息會被顯示在瀏覽器
    trigger_error('我是手動拋出的致命錯誤',E_USER_ERROR);
    
    echo?'this?is?a?test?';


    查看全部
  • class?MyErrorHandler{
    ????//錯誤信息
    ????public?$message?=?'';
    ????//錯誤文件
    ????public?$filename?=?'';
    ????//錯誤行號
    ????public?$line?=?0;
    ????//額外信息
    ????public?$vars?=?array();
    ????protected?$_noticelog?=?'G:\notice\noticeLog.log';
    
    ????public?function?__construct($message,?$filename,?$line,?$vars)
    ????{
    ????????$this->message?=?$message;
    ????????$this->filename?=?$filename;
    ????????$this->line?=?$line;
    ????????$this->vars?=?$vars;
    ????}
    ????//根據不同錯誤級別對應不同操作
    ????//遵循handler錯誤處理原則,errno:錯誤代碼,line:錯誤行號
    ????public?static?function?deal($errno,$errmsg,$filename,$line,$vars)
    ????{
    ????????$self?=?new?self($errmsg,$filename,$line,$vars);
    ????????switch?($errno)
    ????????{
    ????????????case?E_USER_ERROR://致命級別
    ????????????????return?$self->dealError();
    ????????????????break;
    ????????????case?E_USER_WARNING://警告級別
    ????????????case?E_WARNING:
    ????????????????return?$self->dealWarning();
    ????????????????break;
    ????????????case?E_NOTICE://通知級別
    ????????????case?E_USER_NOTICE:
    ????????????????return?$self->dealNotice();
    ????????????????break;
    ????????????default:
    ????????????????return?false;
    ????????}
    ????}
    
    ????/**
    ?????*?如何處理致命錯誤
    ?????*/
    ????public?function?dealError()
    ????{
    ????????//開啟內存緩沖
    ????????ob_start();
    ????????//回溯上一條信息
    ????????debug_print_backtrace();
    ????????$backtrace?=?ob_get_flush();
    ????????$errorMsg?=?<<<EOF
    ????????出現了致命錯誤,如下:
    產生錯誤的文件:{$this->filename}
    產生錯誤的信息:{$this->message}
    產生錯誤的行號:{$this->line}
    追蹤信息:{$backtrace}
    EOF;
    ????error_log($errorMsg,1,'[email protected]');
    ????exit(1);
    ????}
    
    ????/**
    ?????*?如何處理警告錯誤
    ?????*/
    ????public?function?dealWarning()
    ????{
    ????????$errorMsg?=?<<<EOF
    ????????出現了警告錯誤,如下:
    產生警告的文件:{$this->filename}
    產生警告的信息:{$this->message}
    產生警告的行號:{$this->line}
    EOF;
    ????????return?error_log($errorMsg,1,'[email protected]');
    ????}
    
    ????/**
    ?????*?如何處理通知錯誤
    ?????*/
    ????public?function?dealNotice()
    ????{
    ????????$datetime?=?date('Y-m-d?H:i:s',time());
    ????????$errorMsg?=?<<<EOF
    ????????出現了通知錯誤,如下:
    產生通知的文件:{$this->filename}
    產生通知的信息:{$this->message}
    產生通知的行號:{$this->line}
    產生通知的時間:{$datetime}
    EOF;
    ????????return?error_log($errorMsg,3,$this->_noticelog);
    ????}
    }


    查看全部
  • 一個簡單的調用
    查看全部
  • 這個set_exception_handler是來拯救的
    查看全部
  • 想寫入一個文件之前的報錯排查
    查看全部
  • 幾個try怎么套
    查看全部
  • 經典(這個視頻可以看看)
    查看全部
  • //設置錯誤級別來開啟或關閉錯誤顯示 error_reporting(0); //不顯示所有錯誤 error_reporting(-1); //顯示所有錯誤 //也可以通過ini_set函數設置 ini_set('error_reporting',0); //不顯示所有錯誤,0代表不顯示,-1代表顯示所有 ini_set('error_reporting',-1);//顯示所有錯誤 //或者通過設置display關閉錯誤顯示 ini_set('display_errors',0); //0代表關閉錯誤顯示,1代表開啟
    查看全部
  • 自己定義錯誤提示
    查看全部
  • 不顯示錯誤 記錄到錯誤日志中 記錄到系統日志中
    查看全部
  • 一個簡單的登陸錯誤報告
    查看全部

舉報

0/150
提交
取消
課程須知
學習本門課程之前,建議先了解一下知識,會更有助于理解和掌握本門課程 1、掌握PHP的基礎知識 2、了解面向對象編程
老師告訴你能學到什么?
1、PHP中的錯誤類型 2、PHP中的錯誤處理 3、PHP中自定義錯誤處理器 4、PHP中異常的使用 5、PHP中如何自定義異常類 6、PHP中如何自定義異常處理器

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!