0

我在 php.ini 中激活了 E_NOTICE。它仍然没有警告我未分配的值,例如

$foo++;

也尝试设置 error_reporting。不工作。error_reporting() 设置为 6143,这意味着激活了 E_NOTICE。此代码段还通过通知警告我:

$foo = bar;

有任何想法吗?

4

4 回答 4

3

这应该会导致错误消息。可能是因为注册了一个错误地吞下所有错误的错误处理程序?如

function error_handler($error_number  /*, ... */) {
    // do stuff...
    return true;
}
于 2009-09-08T14:24:15.743 回答
0

更改文件 php.ini 后。您应该重新启动 php/apache 服务。

于 2009-09-08T19:42:51.663 回答
0

它适用于我的 PHP 版本 5.2.8

注意:未定义的变量:foo

<?php

error_reporting(E_ALL | E_NOTICE);  // Also works with 6143
$foo++;

?>
于 2009-09-08T14:13:03.683 回答
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;

将此代码放在脚本的开头,它会显示所有错误、通知和所有其他内容。

于 2014-07-08T10:48:34.257 回答