php 怎么设置报错级别 和 控制报错[转]

在Windows环境下:有时在其他环境下运行正常的程序在自己的环境上会报错误    程序会 报出  Undefined index:   这样的错误
例如有如下的代码:
                                  Undefined varialbe:

一下是在网上找到的解决办法:
问题如下:
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);//显示所有错误

转自网址_______  http://blog.sina.com.cn/s/blog_a345735b0100zy53.html

php 怎么设置报错级别 和 控制报错[转]

时间: 2024-08-28 22:33:04

php 怎么设置报错级别 和 控制报错[转]的相关文章

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

error_reporting() 设置 PHP 的报错级别并返回当前级别. 语法 error_reporting(report_level) 如果参数 level 未指定,当前报错级别将被返回.下面几项是 level 可能的值: 1 E_ERROR 2 E_WARNING 4 E_PARSE 8 E_NOTICE 16 E_CORE_ERROR 32 E_CORE_WARNING 64 E_COMPILE_ERROR 128 E_COMPILE_WARNING 256 E_USER_ERROR

金蝶财务软件帐套属性设置保存和帐套启用报错的解决方法

金蝶财务软件新建立帐套,在帐套属性设置完毕保存提示如下图的提示,所以帐套也就启用不了,在启用的时候也会提示下图的错误: 查找原因的时候,一直提示"NT AUTHORITY\NETWORK SERVICE"登陆失败,就突然想到了,是不是登陆数据库的时候,默认以管理员登陆,管理员能登陆成功,是不是得把这个用户加入到管理员组才可以呢,结果就试了下,最后发现还真是这个情况,把这个用户加入管理员后,帐套启用成功.以下是用户加入管理员组的步骤,可以参考以下: 进入计算机管理 找到组 双击管理员组

关于Linux下面msyql安装后并未设置初始密码,但是登录报错“Access denied for user 'root'@'localhost' (using password: NO)”的解决方案

如上图:首先我安装mysql的时候并没有设置密码,但是就是登不进去,百度了一下,解决方案如下: 解决方案地址:http://zhidao.baidu.com/link?url=7QvuOKtfRdMTyFCsOf_6Bbb6pHGUxzyr5_afFGLiX_WAD6JJ4MCmepriWnzIo-kEAetXCLsRRhIidzxbL6zTnnJlP3HbYh2DDLZOEbOvBji 关于Linux下面msyql安装后并未设置初始密码,但是登录报错"Access denied for use

SQL Server 2016 行级别权限控制

原文:SQL Server 2016 行级别权限控制 背景 假如我们有关键数据存储在一个表里面,比如人员表中包含员工.部门和薪水信息.只允许用户访问各自部门的信息,但是不能访问其他部门.一般我们都是在程序端实现这个功能,而在sqlserver2016以后也可以直接在数据库端实现这个功能. 解决 安全已经是一个数据方面的核心问题,每一代的MS数据库都有关于安全方面的新功能,那么在Sql Server 2016,也有很多这方面的升级,比如'Row Level Security', 'Always E

Java web自定义标签按钮级别权限控制完美诠释(jplogic 快速开发平台)

接下来跟大家聊聊JavaWeb中权限控制,往大的方向说可以聊聊整合应用系统中的权限控制.在聊权限控制之前先跟大家聊聊RBAC.那么什么是RBAC呢?RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联的,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理.在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色.角色可依新的需求和系统的

项目部署时日志应该设置到哪个级别?

用户提出问题:项目部署时日志应该设置到哪个级别?,具体如下: 如题,日志框架用的是log4j,debug和info级别信息造成的性能影响大么,如何做性能监视 问题补充:谢大家的回答,日志做法和大家一样,只是对性能方面想多了点 通过互联网整理获得以下解决方法: =================1楼===================== 显示在控制台上的,info就够了,自己看的 还是debug吧 =================2楼===================== 线上的话就用i

关于ProjectServer调用PSI 报Error GeneralReadOnlyColumn (20005) - column TS_ACT_FINISH_DATE错的解决方案

TimesheetDataSet Table Actuals Row: TS_LINE_UID='f4b970f8-fb03-44d1-9997-cd31da42cb09' TS_ACT_START_DATE='07/29/2014 00:00:00' Error GeneralReadOnlyColumn (20005) - column TS_ACT_FINISH_DATE 常规 Queue: GeneralQueueJobFailed (26000) - TimesheetUpdate.U

设置数据库兼容级别的两种方法以及区别

转:http://blog.csdn.net/htl258/article/details/5696325 --设置数据库兼容级别的两种方法 --以设置兼容SQL Serve 2005 为例 --法一: ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 90 GO --法二: EXEC sp_dbcmptlevel database_name,90 GO database_name 要修改为数据库的名称. 各参数值对应的数据库版本: 8

RAC11g使用数据泵导入导出报ORA-6512,ORA-25306,ORA-39079错

今天在用RAC11g业务库的数据泵进行导入导出工作时候,报 ORA-6512,ORA-25306,ORA-39079错,如下: 出现的原因:这个错往往跟aq_tm_processes=0有关,查看了aq_tm_processes参数(show parameter aq_tm_processes),发现果然为0.解决方法:将其设置为aq_tm_processes>1的值,问题解决.-- alter system set aq_tm_processes=10 scope=both sid='*';