1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

PHP错误处理

1、第一种错误处理方法是修改配置文件

错误级别默认为提示所有级别的错误:error_reporting = E_ALL

把error_reporting = E_ALL改为error_reporting = E_ALL & ~E_NOTICE 表示不提示注意级别的错误。然后,重启服务生效

error_reporting = E_ALL & ~E_NOTICE    抛出任何非注意的错误,默认值

error_reporting = E_ERROR | E_PARSE | E_CORE_ERROR    只考虑致命的运行时错误、新解析错误和核心错误

error_reporting = E_ALL & ~(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE)    报告除用户导致的错误之外的所有错误

2、第二种错误处理方法是使用错误处理函数

  在PHP脚本可以通过error_reporting( )函数动态设置错误报告级别

<?php      error_reporting(E_ALL & ~E_NOTICE);      getType($a);//注意级别      echo "1111111111111111<br>";        getType();//警告级别      echo "222222222222222222222<br>";        getType3();//错误级别      echo "333333333333333333333<br>";  ?>

自定义错误处理

  自定义错误报告的处理方式,可以完全绕过标准的PHP错误处理函数,这样就可以按自己定义的格式打印错误报告,或改变错误报告打印的位置,以下几种情况可以考虑自定义错误处理:1、记下错误的信息,及时发现一些生产环境出现的问题;2、屏蔽错误;3、控制错误的输出; 4、作为调试工具

  使用set_error_handler()函数来设置用户自定义错误处理

<?php      //error_reporting(E_ALL & ~E_NOTICE);      //在php中注册一个函数来处理错误报告,替代默认的方式      set_error_handler("myerrorfun");      $mess = "";      //自定义错误报告处理函数      function myerrorfun($error_type, $error_message, $error_file, $error_line) {          global $mess;          $mess.="发生错误级别为{$error_type}类型, 错误消息<b>{$error_message}</b>, 在文件<font style='color:red'>{$error_file}</font>中, 第{$error_line}行。<br>";          }      getType($a);      echo "1111111111111111<br>";      getType();      echo "222222222222222222222<br>";      echo "--------------------------------------------<br>";      echo $mess;  ?>

错误日志

  一般地,程序都会保存错误日志,用来记录程序运行时的错误信息。且错误日志都有其默认的存储位置。对于错误信息和错误日志的位置,我们都可以进行修改

  在PHP.ini配置文件中,有以下几项可以对错误日志进行设置

error_reporting = E_ALL  //将向PHP发送每个错误

display_errors=Off       //不显示错误报告

log_errors=On            //决定日志语句记录的位置

log_errors_max_log=1024  //每个日志项的最大长度

error_log=G:/myerror.log //指定错误写进的文件

  在php文件中,我们可以使用函数error_log()来自定义错误信息

<?php  error_log("登录失败了!");  ?>

原文链接:https://www.qiquanji.com/post/7990.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

作者:xialibing 分类:网页教程 浏览: