为什么在PHP 7.2.19中将error_reporting()设置为0时,随后的ini_set()被忽略了?

时间:2019-07-01 21:38:11

标签: php

为什么当error_reporting()设置为0时,PHP 7.2.19会忽略后续的ini_set()。一言不发在PHP Docs中的这种行为。这是错误还是非常差的文档记录?

win32.gencache.EnsureDispatch()

但是,如果在php.ini中将display_errors设置为“ off”,则下面的语句有效

error_reporting(0);
ini_set(log_errors, '1');  //This directive is ignored and nothing is logged

1 个答案:

答案 0 :(得分:2)

让我以对话的形式进行解释:

error_reporting(0)

  • PHP:糟糕,您的代码有误。让我检查一下error_reporting级别,看看是否想知道这一点。
  • :否,请忽略所有错误/警告/信息。我已将error_reporting设置为0。对于发生的事情,任何人都一言不发,理解吗?

error_reporting(E_ALL)

  • PHP:糟糕,您的代码有误。让我检查一下error_reporting级别,看看是否想知道这一点。
  • 您:是的,告诉我一切!
  • PHP:好吧,让我知道您想如何了解发生的事情。
  • 您::我已将log_errors设置为1。您能否将所有错误都放入文件中,有空的时候我会检查它们。
  • PHP:当然。您是否也希望我在浏览器中向用户显示相同的错误?
  • :否。用户不需要知道。我将display_errors设置为0。