我在php.ini中激活了E_NOTICE。它仍然没有警告我关于未分配的值,如
$foo++;
尝试设置error_reporting。不行。 error_reporting()设置为6143,表示E_NOTICE已激活。 此代码段还通知我:
$foo = bar;
有什么想法吗?
答案 0 :(得分:3)
这应该会导致错误消息。也许是因为注册错误处理程序错误地吞下所有错误?如
function error_handler($error_number /*, ... */) {
// do stuff...
return true;
}
答案 1 :(得分:0)
它适用于PHP版本5.2.8
注意:未定义的变量:foo
<?php
error_reporting(E_ALL | E_NOTICE); // Also works with 6143
$foo++;
?>
答案 2 :(得分:0)
改变文件php.ini后。你应该重启php / apache服务。
答案 3 :(得分:0)
如PHP手册中所述,您也可以在脚本中设置它们(http://php.net/manual/en/function.ini-set.php#refsect1-function.ini-set-examples):
if (!ini_get('display_errors')) {
ini_set('display_errors', '1');
}
因此,具有最大错误报告级别的完整错误设置可能是:
if (!ini_get('display_errors')) {
ini_set('display_errors', '1');
}
error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
$foo = bar;
将此代码放在脚本的开头,它会向您显示所有错误,通知以及所有其他错误。