国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

詳解PHP錯誤日志的獲取方法

2024-05-04 23:37:56
字體:
來源:轉載
供稿:網友

在php中我們會經常碰到一些錯誤要去處理,下面我來總結php中的錯誤報告及日志的獲取方法等方面的內容做一些總結,需要的朋友可以參考下。

在PHP中錯誤日志的獲取方法有很多種,下面我給大家簡單介紹下遇到此類問題如何解決,下面通過代碼給大家展示下,希望能夠幫助到大家。

 

 
  1. <?php 
  2. error_reporting (0); 
  3. register_shutdown_function($err = 'my_error_handler') OR set_error_handler($err,E_ALL); // 同時注冊兩個函數. 
  4. // 函數參數錯誤 
  5. $original = unserialize ( array(423142,2134234)); 
  6. // 不可對0除 
  7. echo 1/0; 
  8. // 不存在的數組索引 
  9. echo $_GET['aa']; 
  10. // 不存在的常量 
  11. PHP_E; 
  12. // 不存在的變量 
  13. echo $var
  14. // 函數參數錯誤 
  15. strlen(array(2434)); 
  16. // 函數參數錯誤 
  17. md5(array(1)); 
  18. // 用戶自定義錯誤 
  19. trigger_error('safdds',E_USER_NOTICE); 
  20. // 不存在的函數 php中斷 
  21. // tes(); 
  22. // 不存在的方法 php中斷 
  23. $ts = new afsd(); 
  24. function my_error_handler($errno=0 ,$errstr=0 , $errfile=0 ,$errline=0){ 
  25. if($errno && $errfile){ 
  26. if(true){ 
  27. $earr = array(); 
  28. $earr['type'] = $errno; 
  29. $earr['message'] = $errstr; 
  30. $earr['file'] = $errfile; 
  31. $earr['line'] = $errline; 
  32. }else
  33. $earr = error_get_last(); 
  34. echo '<pre>'
  35. print_r($earr); 
  36. return array(); 

對于php錯誤, 我們一定要認識清楚, 類型分幾種, 什么時候觸發, 返回值是什么.

如果不區分警告, 錯誤, 建議,提示等細類型種類, 那我們可以理解php錯誤類型共有兩種:

一種是強制中斷程序錯誤. 如錯誤, 方法不存在等. 內存不足, 超時

一種是非中斷式錯誤. 如警告, 提示這些

其中獲取中斷程序錯誤需要使用register_shutdown_function函數, 注冊一個內存函數, 然后里面取得錯誤信息, 這種方法僅能獲取到首次的錯誤行, 如多個不存在的函數時, 它只能獲取到首次的那個錯誤. 這其實也有好處, 你修復一個, 它就會移至下一個.

非中斷式錯誤, 如果用:register_shutdown_function, 那會變得異常難操作, 僅僅能獲取首次的提示或者警告, 這時我們需要set_error_handler, 每一次觸有error level constants, 都會調用錯誤函數一次, 也就可以在里面獲取錯誤日志. 不過此函數會承接 error_get_last 函數, 所以你會發現error_get_last返回為空, 全部由參數傳入了.

兩個函數一起運用, 即可獲取到程序的99%的錯誤, 這對于php程序來說, 算是雪中送打火機了.

試試運行上面的示例吧.

通過代碼和文字相結合對PHP中錯誤日志的獲取方法的整理,希望對大家在今后的工作中遇到此類問題有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奈曼旗| 上虞市| 理塘县| 陇川县| 丹巴县| 滁州市| 班玛县| 阿瓦提县| 景东| 洱源县| 当阳市| 酒泉市| 田阳县| 贺兰县| 墨江| 诸城市| 成武县| 湖南省| 鹿邑县| 黔江区| 陈巴尔虎旗| 塔城市| 彭泽县| 合山市| 庄浪县| 承德县| 卢氏县| 确山县| 玉林市| 镇远县| 吉木萨尔县| 罗江县| 涿州市| 玉门市| 济宁市| 康保县| 右玉县| 仪征市| 即墨市| 交口县| 长治市|