改变php执行的错误输出等级.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
改变php执行的错误输出等级

改变php执行的错误输出等级 我在测试某个 php 空间时发现它的错误等级设置的非常灵敏,象变量未声明等不影响执行的都输出错误信息,象 ? if($name == ) echo 名字为空; ? 报告错误为 Warning: Undefined variable: name in D:XXXXtest.php on line 1 而这种情况经常出现,但是我不能修改 php.ini 的配置,所以我采用了动态改变错误输出等级的方法,其函数为 error_reporting 配置错误信息回报的等级。 语法: int error_reporting(int [level]); 本函数用来配置错误信息回报的等级,参数 level 是一个整数的位遮罩 (bitmask),见下表。 遮罩值 表示名称 1 E_ERROR 2 E_WARNING 4 E_PARSE 8 E_NOTICE 16 E_CORE_ERROR 32 E_CORE_WARNING E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫 stat() 函数检视不存在的文件。 E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫 ereg()。 E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。 E_PARSE 从语法中解析错误。 E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。 E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。 针对我的情况,我采用了下面的方式解决了我的问题! error_reporting(E_ERROR|E_PARSE|E_CORE_ERROR|E_CORE_WARNING); 希望能对大家有所帮助,这个函数真得很好用,特被是在调试期间! **************************************************************************************************************** 偶然对PHP运行错误的处理及显示有些体会,特此留下记录,方便查询。首先是对php.ini几个关于错误处理的全局变量的说明: ?(1)、error_reporting ? (3)、log_errors ?E_ALL - 所有的错误和警告 ?E_ERROR - 致命性运行时错 ?E_WARNING - 运行时警告(非致命性错) ?E_PARSE - 编译时解析错误 ? 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 = E_ALL ~E_NOTICE ; 显示所有的错误,除了提醒 error_reporting = E_ALL **************************************************************************************************************** 可以使用三种方法: @可以屏避代码中的错误,如果此行代码出错,用这个@号之后错误将不显示出来。 还可以在页首加上error_reporting(0); 将禁止本页内任何错误显示. 也可以在php.ini中禁止显示错误,display_errors = Off ?php //display_errors = On @readfile(./testfile.txt);//无出错提示 readfile(./testfile.txt);//有出错提示 error_reporting(0); readfile(./testfile.txt);//无出错提示 ? ***********************************************************

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档