display_errors与error_reporting,有意思之处

举报
lxw1844912514 发表于 2022/03/27 01:07:23 2022/03/27
【摘要】 相同之处 两者都可以控制是否显示错误信息 不同之处 ini_set('display_errors',[0|1]);只能控制是否打开错误显示,不能控制显示的错误级别error_reporting()可以控制显示的错误级别 注意ini_set()的权限大于error_reporting ini_set('display_error...

相同之处
两者都可以控制是否显示错误信息

不同之处


  
  1. ini_set('display_errors',[0|1]);只能控制是否打开错误显示,不能控制显示的错误级别
  2. error_reporting()可以控制显示的错误级别


注意
ini_set()的权限大于error_reporting


  
  1. ini_set('display_errors',0);
  2. error_reporting(E_ALL);
  3. require '1.php';//该文件不存在

上面例子中不会显示错误信息,因为ini_set()的权限比较大,只有当ini_set(‘display_errors’,1|on)才会显示错误信息

error_reporting参数


  
  1. E_ALL – 所有的错误和警告(不包括 E_STRICT)
  2. E_ERROR – 致命性的运行时错误
  3. E_WARNING – 运行时警告(非致命性错误)
  4. E_PARSE – 编译时解析错误
  5. E_NOTICE – 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
  6. E_STRICT – 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
  7. E_CORE_ERROR – PHP启动时初始化过程中的致命错误
  8. E_CORE_WARNING – PHP启动时初始化过程中的警告(非致命性错)
  9. E_COMPILE_ERROR – 编译时致命性错
  10. E_COMPILE_WARNING – 编译时警告(非致命性错)
  11. E_USER_ERROR – 用户自定义的错误消息
  12. E_USER_WARNING – 用户自定义的警告消息
  13. E_USER_NOTICE – 用户自定义的提醒消息

测试:

1.报错500


  
  1. <?php
  2. ini_set('display_errors','off');
  3. error_reporting(0|-1); //-1 打开所有php错误 0关闭所有PHP报错信息
  4. require '1.php';//该文件不存在
  5. die();

2.空白页


  
  1. <?php
  2. ini_set('display_errors','on');
  3. error_reporting(0); //-1 打开所有php错误 0关闭所有PHP报错信息
  4. require '1.php';//该文件不存在
  5. die();

3.显示报错位置


  
  1. <?php
  2. ini_set('display_errors','on');
  3. error_reporting(-1); //-1 打开所有php错误 0关闭所有PHP报错信息
  4. require '1.php';//该文件不存在
  5. die();

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/105653413

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。