【问题标题】:What do you think that the error_reporting(1); instruction makes? [closed]你认为 error_reporting(1);指令使? [关闭]
【发布时间】:2011-04-17 12:13:54
【问题描述】:

你认为error_reporting(1); 指令会带来什么?

【问题讨论】:

  • 对不起,你能说清楚你在问什么吗?您正在尝试做什么,您尝试过什么,哪些方面不符合您的期望?
  • 文档之旅真的不会那么困难,不是吗?以防您以前从未使用过互联网,这里有一个链接:php.net/manual/en/function.error-reporting.php
  • 我知道,但是我的代码被 Stackoverflow 了...

标签: php error-reporting


【解决方案1】:

这将与

相同
 error_reporting(E_ERROR);

来自manual

致命的运行时错误。这些表明 无法恢复的错误, 比如内存分配问题。 脚本的执行被暂停。

【讨论】:

    【解决方案2】:

    PHP docs

    1 E_ERROR(整数)致命的运行时错误。这些表示无法恢复的错误,例如内存分配问题。脚本的执行被暂停。

    请注意,每当定义这样的常量时,您应该使用命名常量而不是字面整数。

    【讨论】:

    • +1 用于命名常量。文档对此非常清楚。
    【解决方案3】:

    E_ERROR is defined as 1,所以和

    error_reporting(E_ERROR);
    

    所以基本上它告诉 PHP 只报告致命错误。

    正如 Skilldrick 所说,您应该使用命名常量,因为它们定义的值可以并且将会随着 PHP 的较新版本而改变。一个众所周知的例子是E_ALL,它具有以下值(来自同一个 PHP 手册表):

    • 30719 在 PHP 5.3.x 中(当前)
    • 6143 在 PHP 5.2.x 中
    • 2047以前

    【讨论】:

    • 那么不是捕获语法错误的方法......
    • @Cris:这些是解析错误,而不是致命错误。 E_PARSE 被定义为 4,所以如果你这样做 error_reporting(1);E_ERROR 你将永远不会看到解析错误消息。
    猜你喜欢
    • 2014-07-26
    • 2014-10-12
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2017-02-20
    • 2013-06-11
    相关资源
    最近更新 更多