PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明

2015-01-24信息快讯网

在看帝国cms的connect.php是发现第一句是error_reporting(E_ALL ^ E_NOTICE);以前也没注意过这个语句,知道是设置错误提示的,但不清楚具体怎样设置使用。下面从网上摘抄了些东西,总结了一下。

举例说明:

在Windows环境下:原本在php4.3.0中运行正常的程序,在4.3.1中为何多处报错,大体提示为:Notice:Undefined varialbe:变量名称.
例如有如下的代码:
 
if (!$tmp_i) { 
$tmp_i=10; 
} 

在4.3.0中运行正常,在4.3.1中运行会提示Notice:Undefined varialbe:tmp_i
问题下下:
1.问题出在哪里?
2.应如何修改这段代码?
3.不改段代码,如何修改php.ini中的设置使原来在4.3.0中的程序在4.3.1的环境下运行正常?而不出现这个错误提示.

解决办法:

在程序开头加一句:
error_reporting(E_ALL & ~E_NOTICE); 或error_reporting(E_ALL ^ E_NOTICE);

或者
修改php.ini
error_reporting = E_ALL & ~E_NOTICE

有关error_reporting()函数:


error_reporting() 设置 PHP 的报错级别并返回当前级别。

; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。
; E_ALL - 所有的错误和警告
; E_ERROR - 致命性运行时错
; E_WARNING - 运行时警告(非致命性错)
; E_PARSE - 编译时解析错误
; E_NOTICE - 运行时提醒(这些经常是是你的代码的bug引起的,

;也可能是有意的行为造成的。(如:基于未初始化的变量自动初始化为一个
              ;空字符串的事实而使用一个未初始化的变量)

; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误
; E_CORE_WARNING - 发生于PHP启动时初始化过程中的警告(非致命性错)
; E_COMPILE_ERROR - 编译时致命性错
; E_COMPILE_WARNING - 编译时警告(非致命性错)
; E_USER_ERROR - 用户产生的出错消息
; E_USER_WARNING - 用户产生的警告消息
; E_USER_NOTICE - 用户产生的提醒消息

使用方法:

error_reporting(0);//禁用错误报告
error_reporting(E_ALL ^ E_NOTICE);//显示除去 E_NOTICE 之外的所有错误信息
error_reporting(E_ALL^E_WARNING^E_NOTICE);//显示除去E_WARNING E_NOTICE 之外的所有错误信息
error_reporting(E_ERROR | E_WARNING | E_PARSE);//显示运行时错误,与error_reporting(E_ALL ^ E_NOTICE);效果相同。error_reporting(E_ALL);//显示所有错误
PHP中header和session_start前不能有输出原因分析
整理的一些实用WordPress后台MySQL操作命令
PHP/Javascript/CSS/jQuery常用知识大全详细整理第1/2页
将博客园(cnblogs.com)数据导入到wordpress的代码
Fine Uploader文件上传组件应用介绍
PDO版本问题 Invalid parameter number: no parameters were bound
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Could not load type System.ServiceModel.Activation.HttpModule解决办法
php中unlink()、mkdir()、rmdir()等方法的使用介绍
zend framework配置操作数据库实例分析
windows下zendframework项目环境搭建(通过命令行配置)
PHP提示Notice: Undefined variable的解决办法
PHP去掉从word直接粘贴过来的没有用格式的函数
PHP 之Section与Cookie使用总结
PHP setTime 设置当前时间的代码
php学习之function的用法
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
php设计模式 Visitor 访问者模式
php中比较简单的导入phpmyadmin生成的sql文件的方法
yii框架源码分析之创建controller代码
php设计模式 Adapter(适配器模式)
php设计模式 Builder(建造者模式)
php设计模式 Decorator(装饰模式)
php设计模式 Delegation(委托模式)
php设计模式 Factory(工厂模式)
php设计模式 Interpreter(解释器模式)
php设计模式 Observer(观察者模式)
php设计模式 Singleton(单例模式)
php设计模式 Chain Of Responsibility (职责链模式)
php设计模式 Mediator (中介者模式)
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
php在页面中调用fckeditor编辑器的方法
php中在PDO中使用事务(Transaction)
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
©2014-2024 dbsqp.com