php的错误级别
E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
E_PARSE 编译时解析错误。解析错误只由分析器产生。
E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
5 E_CORE_ERROR PHP 启动时初始化过程中的致命错误。
E_CORE_WARNING PHP启动时初始化过程中的警告(非致命性错)。
7 E_COMPILE_ERROR 编译时致命性错。这就像由Zend脚本引擎生成了一个E_ERROR。
E_COMPILE_WARNING 编译时警告(非致性错)。这就像由Zend脚本引擎生成了E_WARNING警告。
9 E_USER_ERROR 自定义错误消息。像用PHP函数trigger_error(程序员设置E_ERROR)
E_USER_WARNING 自定义警告消息。像用PHP函数trigger_error(程序员设的E_WARNING警告)
E_USER_NOTICE 自定义的提醒消息。像由使用PHP函数trigger_error(程序员E_NOTICE集)
E_STRICT 编码标准化警告。允许PHP建议修改代码以确保最佳的互操作性向前兼容性。
E_RECOVERABLE_ERROR 开捕致命错误。像E_ERROR,但可以通过用户定义的处理捕获(又见set_error_handler())
E_ALL 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)
E_USER_DEPRECATED
E_ALL
<?php
error_reporting(0); //禁用错误报告
error_reporting(E_ERROR | E_WARNING | E_PARSE);//报告运行时错误
error_reporting(E_ALL); //报告所有错误
error_reporting(E_ALL ^ E_NOTICE); //除E_NOTICE报告所有错误,是在php.ini的默认设置
error_reporting(-1); //报告所有 PHP 错误
error_reporting(3); //不报E_NOTICE
error_reporting(11); //报告所有错误
ini_set('error_reporting', E_ALL); // 和 error_reporting(E_ALL); 一样
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);//表示php错误,警告,语法错误,提醒都返错。
?>
E_STRICT的值,所以E_ALL是显示除E_STRICT的所有错误级别。E_ALL & ~E_NOTICE 的二进制可以看出,从右至左,第4位和第12位为0,第4位的权重为2的3次方,为8,就是E_NOTICE的值,所以是显示除了E_STRICT和E_NOTICE的所有错误。E_WARNING, E_NOTICE和E_PARSE 级别的错误,写法与步骤:| USER_DEPRECATED | 0 |
| DEPRECATED | 0 |
| RECOVERABLE_ERROR | 0 |
| STRICT | 0 |
| USER_NOTICE | 0 |
| USER_WARNING | 1 |
| USER_ERROR | 1 |
| COMPILE_WARNING | 1 |
| COMPILE_ERROR | 1 |
| CORE_WARNING | 1 |
| CORE_ERROR | 1 |
| NOTICE | 1 |
| PARSE | 1 |
| WARNING | 1 |
| ERROR | 1 |
错误回显,一般常用语开发模式,但是很多应用在正式环境中也忘记了关闭此选项。错误回显可以暴露出非常多的敏感信息,为攻击者下一步攻击提供便利。推荐关闭此选项。 一旦某个产品投入使用,那么第一件事就是应该将display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。
log_errors
在正式环境下用这个就行了,把错误信息记录在日志里。可以关闭错误回显。 某个产品投入使用后,将PHP的log_errors开启,默认是记录到WEB服务器的日志文件里,比如Apache的error.log文件。 当然也可以记录错误日志到指定的文件中。另外也可以设定error_log = syslog,使这些错误信息记录到操作系统的日志里。
# vim /etc/php.inidisplay_errors = Off
log_errors = On
error_log = /var/log/php-error.log
PHP.ini中display_errors = Off失效的解决
问题: PHP设置文件php.ini中明明已经设置display_errors = Off,但是在运行过程中,网页上还是会出现错误信息。
解决: 经
查log_errors=
On,据官方的说法,当这个log_errors设置为On,那么必须指定error_log文件,如果没指定或者指定的文件没有权限写入,那么照样会输
出到正常的输出渠道,那么也就使得display_errors 这个指定的Off失效,错误信息还是打印了 出来。于是将log_errors =
Off,问题就解决了。
php的错误级别的更多相关文章
- PHP 位运算(&, |, ^, ~, <<, >>)及 PHP错误级别报告设置(error_reporting) 详解
位运算符允许对整型数中指定的位进行求值和操作. 位运算符 例子 名称 结果 $a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1. $a | $b Or(按位或) ...
- php错误级别的设置方法
PHP在运行时, 针对严重程度不同的错误,会给以不同的提示. eg:在$a没声明时,直接相加,值为NULL,相加时当成0来算.但是,却提示NOTICE,即注意. 我们在开发中, 为了程序的规范性,把报 ...
- php中的错误级别
在php编程过程中,大家一定会遇到或多或少的错误提醒,也正是这些错误提示,指引我们编写更加干净的代码,今天先写出我们主要列出的错误类型,先挖坑,写关于php错误与异常的相关知识,慢慢填坑. De ...
- PHP 错误与异常 笔记与总结(3)PHP 配置文件(php.ini)中与错误相关的选项 与 设置错误级别
[PHP 配置文件中与错误相关的选项 ] 选项 描述 error_reporting 设置错误报告的级别 display_errors 是否显示错误 log_errors 设置是否将错误信息记录到日志 ...
- php CodeIgniter处理多环境错误级别配置
php CodeIgniter处理多环境错误级别配置 开发者常常希望当系统运行在开发环境或生产环境中时能有不同的行为, 例如,在开发环境如果程序能输出详细的错误信息将非常有用,但是在 生产环境这将造成 ...
- php错误级别设置
在php.ini中可以设置服务器对错误的报警级别.在默认情况下,php将报告除了通知之外的所有错误. 错误报告级别是通过一些预定义的常量来设置的, 语法 int error_reporting ( [ ...
- PHP 基础篇 - PHP 错误级别详解
一.前言 最近经常看到工作 2 年左右的童鞋写的代码也会出现以静态方法的形式调用非静态方法,这是个 Deprecated 级别的语法错误,代码里不应该出现的.对方很郁闷,说:为什么我的环境可以正常运行 ...
- PHP错误级别 error_reporting() 函数详解
在PHP开发的时候常常会用到error_reporting(report_level)来调试自己的程序,下面列出了report_level可能值: 值 常量 描述 1 E_ERROR 这是一个严重错误 ...
- SQL错误级别 状态 怎么定义
关于SQL Server的错误严重性级别的说明,强烈认真看一下下面的两个链接 脱机帮助 ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/sqlerrm9/html/ ...
随机推荐
- 深入理解Java虚拟机之读书笔记一 自动内存管理机制
一.运行时数据区域 1.程序计数器是线程的私有空间,每个线程都有.针对线程执行的是Java代码还是Native代码有两种取值,Java代码时:虚拟机字节码指令的地址:Native代码时:计数值为Und ...
- iOS开发——源代码管理——SVN
一.源代码管理(svn)简介 01. 源代码管理工具概述 ======================================================================= ...
- 使用 Github Pages 发布你的项目文档
导读 你可能比较熟悉如何用 Github Pages 来分享你的工作,又或许你看过一堂教你建立你的第一个 Github Pages 网站的教程.近期 Github Pages 的改进使得从不同的数据源 ...
- 一起入门python7之函数参数
上一节课简单的讲了一下函数.那么今天来给大家讲一下函数参数.用案例说话哈.上一节课只是让大家有比较简单的了解,那么这节我们来细化一下哈.>>>def hello(x): ...
- C++基础知识(2)---函数
c++中的函数和C语言中的函数相比,增加了许多新的语法与功能.在这里总结一下c++中常用的引用函数,函数重载和内联函数. 1 引用参数 引用参数最常用的一个例子就是 交换 两个数,如下 void s ...
- c++ SOA Axis2c 编译安装
Axis2C 安装过程 1设置环境变量 export AXIS2C_HOME=/usr/local/axis2c 2.下载源码包解压编译安装 cd axis2c-src-1.6.0 ./configu ...
- 【云计算】Cloudify-基于TOSCA规范的开源云应用编排系统
.cloudify-manager-blueprints:https://github.com/cloudify-cosmo/cloudify-manager-blueprints/tree/3. ...
- PowerDesigner16.5 连64位MySQL,出错:SQLSTATE = IM014。原因及解决方案
- ios oc 和 swfit 用dispatch_once 创建单例
网上已经有方法了,我这里就是抄了下,原文链接 http://bj007.blog.51cto.com/1701577/649413 http://blog.csdn.net/u010124617/ar ...
- 18. javacript高级程序设计-JavaScript与XML
1. JavaScript与XML IE采取了下列方式: l 通过ActiveX对象来支持处理XML,而相同的对象也可以用来构建桌面应用程序 l Windows携带了MSXML库,JavaScript ...