码迷,mamicode.com
首页 > Web开发 > 详细

PHP的错误处理

时间:2018-07-03 22:32:42      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:port   fun   cti   ice   处理   执行   过程   修改   ict   

一、PHP的错误分类

  1.语法错误

    语法错误不会执行PHP脚本文件中的任意代码

  2.运行时错误

    在代码执行的过程当中发生的错误

  3.逻辑错误

    不会发生语法错误,不会发生运行时错误,会显示错误的结果

    通常情况下,这种错误最难排错

二、错误报错级别

  级别常量      错误值      错误报告描述

  E_ERROR      1         致命的运行时错误(阻止脚本执行)

  E_WARNING      2        运行时警告(非致命性错误)

  E_PARSE        4        从语法中解析错误

  E_NOTICE      8        运行时注意消息(可能是或可能不是一个问题)

  E_CORE_ERROR  16        PHP启动时初始化过程中的致命错误

  E_CORE_WARNING  32       PHP启动时初始化过程中的警告(非致命性)

  E_COMPILE_ERROR   64       编译时致命错误

  E_COMPILE_WARNING  128        编译时警告(非致命性)

  E_USER_ERROR    256        用户自定义的致命错误

  E_USER_WARNING   512       用户自定义的警告

  E_USER_NOTICE        1024       用户自定义的提醒(经常是bug)

  E_STRICT        2048      编码标准化警告(建议如何修改以向前兼容)

  E_ALL         6143      所有的错误、警告和注意信息

三、更改错误报告级别

  1.PHP的配置文件php.ini中:

    display_errors=On/Off (是否显示错误报告)

    error_reporting=E_ALL (更改要显示的错误报告级别)

  2.在代码中修改:

    ini_set(‘display_errors‘,‘off‘);

    error_reporting(0); / error_reporting(E_ALL);

四、用户自定义错误报告的处理方式

  ①trigger_error(‘提示信息‘,E_USER_ERROR/WARNING/NOTICE);

  ②set_error_handler(回调函数):

    回调函数所需的参数:

      errorno:错误报告级别的常量值

      errorstr:错误信息

      errorfile:错误发生的文件

      errorline:错误发生的行号

    注意:当前文件每发生一次错误,都会调用一次该回调函数

    例:

      set_error_handler(‘myerror‘);

      function myerror($errorno,$errorstr,$errorfile,$errorline){

      }

五、保存错误日志到指定文件中

  ini_set(‘error_reporting‘,‘E_ALL‘);

  ini_set(‘log_errors‘,‘on‘);  //开启外部保存错误信息

  ini_set(‘error_log‘,‘D:/error.log‘);  //设置保存的位置

  error_log(‘自定义错误信息‘);  //代码中使用该函数即可将错误日志写入到D:/error.log文件中

  注意:不可关闭error_reporting的错误报告

PHP的错误处理

标签:port   fun   cti   ice   处理   执行   过程   修改   ict   

原文地址:https://www.cnblogs.com/zhouwanqiu/p/9260685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!