这些缺点都是用户制造的,应用trigger_error,这里就相当于一个口儿给用户触发出各类缺点类型。这个是一个很好回避try catch异常的方法。
E_ALL
E_STRICT出外的所出缺点和警告信息。
缺点控制
php中有很多设备和参数是可以控制缺点,以及缺点的日记显示的。第一步,我们须要懂得的是php中的有关缺点的设备有哪些?
我们按照php+php-fpm的模型来说,会影响php缺点显示的其实是有两个设备文件,一个是php本身的设备文件php.ini,别的一个是php-fpm的设备文件,php-fpm.conf。
php.ini中的设备error_reporting = E_ALL // 申报缺点级别,什么级其余
error_log = /tmp/php_errors.log // php中的缺点显示的日记地位
display_errors = On// 是否把缺点展示在输出上,这个输出可能是页面,也可能是stdout
display_startup_errors = On// 是否把启动过程的缺点信息显示在页面上,记得膳绫擎说的有几个Core类型的缺点是启动时刻产生的,这个就是控制这些缺点是否显示页面的。
log_errors = On// 是否要记录缺点日记
log_errors_max_len = 1024 // 缺点日记的最大年夜长度
ignore_repeated_errors = Off// 是否忽视反复的缺点
track_errors = Off// 是否应用全局变量$php_errormsg来记录最后一个缺点
xmlrpc_errors = 0 //是否应用XML-RPC的缺点信息格局记录缺点
xmlrpc_error_number = 0 // 用作 XML-RPC faultCode 元素的值。
html_errors = On// 是否把输出中的函数等信息变为HTML链接
docref_root = http://manual/en/ // 如不雅html_errors开启了,这个链接的根路径是什么
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这个标记控制的是如不雅有反复的日记,那么就只会记录一条,比如下面的法度榜样:error_reporting(E_ALL);
ini_set('ignore_repeated_errors', 1);
ini_set('ignore_repeated_source', 1);
$a = $c; $a = $c; //E_NOTICE
//Notice: Undefined variable: c in/tmp/php/index.phponline 20
track_errors开启会把最后一个缺点信息存储到变量琅绫擎去,这个可能在对记日记的时刻会有一些用处吧。不过我认为真是没啥用…
html_errors 和 docref_root 两个是个挺有人道化的设备,设备了这两个参数今后,我们返回的缺点信息中如不雅有一些在文档中有的信息,就会变成链接情势。error_reporting(E_ALL);
ini_set('html_errors', 1);
ini_set('docref_root'
推荐阅读
1、“VS Code 师出 VS,是 VS 找了一群仁攀来重写的,复竽暌姑了很多 VS 的代码,等等“。
本文作者 rebomix 是微软重要的开源项目之一 Visual Studio Code (常简称 VS Code)的保>>>详细阅读
地址:http://www.17bianji.com/lsqh/34989.html