2014-02-05 42 views
0

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

+0

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

回答

0

有许多地方这可以设置覆盖主php.ini。运行phpinfo()并检查本地值主值用于error_reporting。还要检查,看是否有下面的存在,他们是否有使用error_reporting不同的设置:

  • 加载的配置文件(确保这是php.ini文件,您编辑)
  • 附加.ini文件解析
  • CUSTOM_PHP_INI
  • 不限htaccess的(如果使用Apache)

在加载的配置文件php.ini上述可以覆盖设置不限。

+0

谢谢。我检查了这些,并没有包含error_reporting。其他地方可能是? – Benubird

+0

好的,这并没有解决我的具体问题,但它回答了问题。 – Benubird

1

它可以在PHP中使用error_reporting(E_ERROR | E_WARNING | E_PARSE);

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

+0

我知道,但我的文件字面上只包含'<?php回声“错误:”.error_reporting(); ?>,所以它必须被设置在别的地方。 – Benubird

0

如果您已经直接修改了php.ini,并且我在猜测您使用的是Apache,那么您必须重新启动才能使更改生效。

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

error_reporting(E_ALL | E_STRICT); 
+0

我修改后重新启动。如果我在代码中调用error_reporting,那么是的,我可以改变它;但为什么它最初与ini文件不同? – Benubird

+0

echo ini_get('error_reporting');'?返回什么? – CentaurWarchief

+0

ini_get('error_reporting');还回报7 – Benubird