【问题标题】:How can error_reporting be overridden?error_reporting 如何被覆盖?
【发布时间】:2014-02-05 18:04:40
【问题描述】:

我在 php.ini 中设置了error_reporting = 0,但是当我创建一个包含<?php echo "error: ".error_reporting(); ?> 的脚本时,它报告的错误级别为 7。还有什么可以设置 error_reporting 值?

【问题讨论】:

  • 已解决:原来我有一个 .htaccess 重定向到一个脚本,该脚本将设置 error_reporting 然后包含原始文件。

标签: php error-reporting


【解决方案1】:

可以在 PHP 中使用error_reporting(E_ERROR | E_WARNING | E_PARSE); 进行设置

顺便说一句。你确定你正在加载正确的 php.ini 文件吗?用 phpinfo(); 检查它

【讨论】:

  • 我知道,但我的文件实际上只包含<?php echo "error: ".error_reporting(); ?>,所以它必须设置在其他地方。
【解决方案2】:

可以设置很多位置来覆盖主要的php.ini。运行 phpinfo() 并检查 Local ValueMaster Value 的 error_reporting。还要检查是否存在以下任何一项,以及它们是否有不同的 error_reporting 设置:

  • 加载的配置文件(确保这是您编辑的 php.ini 文件)
  • 解析了其他 .ini 文件
  • CUSTOM_PHP_INI
  • 任何 .htaccess(如果使用 Apache)

以上任何一项都可以覆盖已加载配置文件php.ini 中的设置。

【讨论】:

  • 谢谢。我检查了这些,没有一个包含error_reporting。它可能在其他什么地方?
  • 好的,这并没有解决我的具体问题,但它回答了所提出的问题。
【解决方案3】:

如果你直接修改了php.ini,我猜你使用的是apache,你必须重新启动它才能使你的更改生效。

好的,重新启动但不工作?您可以尝试使用纯 PHP 代码进行设置:

error_reporting(E_ALL | E_STRICT);

【讨论】:

  • 我修改后确实重启了。如果我在代码中调用 error_reporting,那么是的,我可以更改它;但为什么它最初与 ini 文件不同?
  • echo ini_get('error_reporting'); 的回报是什么?
猜你喜欢
  • 2017-06-01
  • 1970-01-01
  • 2017-12-19
  • 2021-02-08
  • 2020-07-23
  • 1970-01-01
  • 2019-11-22
  • 2012-08-07
  • 1970-01-01
相关资源
最近更新 更多