1. <?php
  2. /*
  3. +----------------------------------------------------------------------
  4. + Title : 将错误信息写入文件
  5. + Author : 小黄牛
  6. + Version : 无
  7. + Initial-Time : 2016-10-25 15:51:00
  8. + Last-time : 2016-10-25 16:01:00 + 小黄牛
  9. + Desc : 一般做开发经常会出错,而微信又不会显示报错内容,所以我们可以通过日志函数来将报错内容存入文件进行查看
  10. +----------------------------------------------------------------------
  11. */
  12. class WeiXin_Error{
  13. // 我是用来测试日志方法
  14. public function Test(){
  15. $array = [
  16. 'fromUsername' => '这只是个测试',
  17. 'toUsername' => '12sdzx3a1s',
  18. 'txt' => '测试完成'
  19. ];
  20. $this->Error_Log($array,true);
  21. }
  22. /**
  23. * @Title : 记录错误信息与查看部分信息
  24. * @Author : 小黄牛
  25. * @param array : $Arr_Title 一个一维数组自定义内容
  26. * @param bool : $Arr_Error 是否插入系统错误信息
  27. * @param string : $File 日志名
  28. * @return : 无
  29. */
  30. private function Error_Log($Arr_Title,$Arr_Error=false,$File='Error_log.log'){
  31. # 不是数组中断程序
  32. if (!is_array($Arr_Title)) {return false;}
  33. # 定义一个空的变量,用于存放日志TXT实体
  34. $Error_TXT = "自定义信息如下:rn";
  35. # 解析Arr_Title 自定义日志内容
  36. foreach ($Arr_Title as $key=>$val){
  37. $Error_TXT .= $key.':'.$val."rn";
  38. }
  39. # 判断系统错误显示是否开启
  40. if ($Arr_Error === true) {
  41. # 获取刚发生的错误信息,并返回数组,无错返回null
  42. $Arr_Error = error_get_last();
  43. # 不为空则执行错误解析
  44. if (isset($Arr_Error)) {
  45. $Error_TXT .= "系统错误信息如下:rn";
  46. # 解析$Arr_Errore 系统错误信息
  47. foreach ($Arr_Title as $key=>$val){
  48. $Error_TXT .= $key.':'.$val."rn";
  49. }
  50. }
  51. }
  52. # 最后再写入两个换行符,以便追加查看
  53. $Error_TXT .= "rnrn";
  54. # 最后写入日志
  55. error_log($Error_TXT,3,$File);
  56. }
  57. }
  58. $test = new WeiXin_Error();
  59. $test->Test();