作家
登录

关于PHP的错误机制总结

作者: 来源: 2017-04-26 16:35:38 阅读 我要评论

这些缺点都是用户制造的,应用trigger_error,这里就相当于一个口儿给用户触发出各类缺点类型。这个是一个很好回避try catch异常的方法。

E_ALL

E_STRICT出外的所出缺点和警告信息。

缺点控制

php中有很多设备和参数是可以控制缺点,以及缺点的日记显示的。第一步,我们须要懂得的是php中的有关缺点的设备有哪些?

我们按照php+php-fpm的模型来说,会影响php缺点显示的其实是有两个设备文件,一个是php本身的设备文件php.ini,别的一个是php-fpm的设备文件,php-fpm.conf。

php.ini中的设备

  1. error_reporting = E_ALL // 申报缺点级别,什么级其余 
  2.  
  3. error_log = /tmp/php_errors.log // php中的缺点显示的日记地位 
  4.  
  5. display_errors = On // 是否把缺点展示在输出上,这个输出可能是页面,也可能是stdout 
  6.  
  7. display_startup_errors = On // 是否把启动过程的缺点信息显示在页面上,记得膳绫擎说的有几个Core类型的缺点是启动时刻产生的,这个就是控制这些缺点是否显示页面的。 
  8.  
  9. log_errors = On // 是否要记录缺点日记 
  10.  
  11. log_errors_max_len = 1024 // 缺点日记的最大年夜长度 
  12.  
  13. ignore_repeated_errors = Off // 是否忽视反复的缺点 
  14.  
  15. track_errors = Off // 是否应用全局变量$php_errormsg来记录最后一个缺点 
  16.  
  17. xmlrpc_errors = 0 //是否应用XML-RPC的缺点信息格局记录缺点 
  18.  
  19. xmlrpc_error_number = 0 // 用作 XML-RPC faultCode 元素的值。 
  20.  
  21. html_errors = On // 是否把输出中的函数等信息变为HTML链接 
  22.  
  23. docref_root = http://manual/en/ // 如不雅html_errors开启了,这个链接的根路径是什么 
  24.  
  25. fastcgi.logging = 0 // 是否把php缺点抛出到fastcgi中 

我们经常会被问到,error_reporting和display_errors有什么差别呢?这两个函数是完全不一样的。

PHP默认是会在日记和标准输出(如不雅是fpm模式标准输出就是页面)

error_reporting的参数是缺点级别。表示什么样子的级别才应当触发缺点。如不雅我们告诉PHP,所出缺点级别都不须要触发缺点,那么,不管是日记,照样页面,都不会显示这个缺点,就相当于什么都没有产生。

log_errors则是控制是否要在日记中记录缺点信息。

error_log是显示缺点日记的地位,这个在php-fpm中往往会被重写,于是往往会发明的是cli和fpm的缺点日记竟然不是在同一个文件中。

ignore_repeated_errors这个标记控制的是如不雅有反复的日记,那么就只会记录一条,比如下面的法度榜样:

  1. error_reporting(E_ALL); 
  2.  
  3. ini_set('ignore_repeated_errors', 1); 
  4.  
  5. ini_set('ignore_repeated_source', 1); 
  6.  
  7. $a = $c; $a = $c; //E_NOTICE 
  8.  
  9. //Notice: Undefined variable: c in /tmp/php/index.php on line 20 

track_errors开启会把最后一个缺点信息存储到变量琅绫擎去,这个可能在对记日记的时刻会有一些用处吧。不过我认为真是没啥用…

html_errors 和 docref_root 两个是个挺有人道化的设备,设备了这两个参数今后,我们返回的缺点信息中如不雅有一些在文档中有的信息,就会变成链接情势。

  1. error_reporting(E_ALL); 
  2.  
  3. ini_set('html_errors', 1); 
  4.  
  5. ini_set('docref_root'

      推荐阅读

      维护VS Code开源项目背后的那些事情

    1、“VS Code 师出 VS,是 VS 找了一群仁攀来重写的,复竽暌姑了很多 VS 的代码,等等“。 本文作者 rebomix 是微软重要的开源项目之一 Visual Studio Code (常简称 VS Code)的保>>>详细阅读


    本文标题:关于PHP的错误机制总结

    地址:http://www.17bianji.com/lsqh/34989.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)