E_NOTICE 不会警告未分配的值

发布于 2024-08-03 17:57:26 字数 231 浏览 4 评论 0 原文

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

$foo++;

尝试设置 error_reporting 。不起作用。 error_reporting()设置为6143,这意味着E_NOTICE被激活。 此代码片段还警告我一个通知:

$foo = bar;

有什么想法吗?

I have E_NOTICE activated in php.ini. It still does not warn me about unassigned values like

$foo++;

Tried to set the error_reporting as well. Does not work. error_reporting() is set to 6143, which means that E_NOTICE is activated.
This code snippet also warns me with a notice:

$foo = bar;

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

鱼忆七猫命九 2024-08-10 17:57:26

这应该会导致错误消息。也许是由于注册了一个错误处理程序而导致错误地吞掉了所有错误?例如

function error_handler($error_number  /*, ... */) {
    // do stuff...
    return true;
}

That should cause an error message. Perhaps it is caused by registering an error handler which incorrectly swallows all errors? Such as

function error_handler($error_number  /*, ... */) {
    // do stuff...
    return true;
}
花期渐远 2024-08-10 17:57:26

它适用于 PHP 版本 5.2.8

注意:未定义的变量:foo

<?php

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

?>

It works for me in PHP Version 5.2.8

Notice: Undefined variable: foo

<?php

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

?>
嘿看小鸭子会跑 2024-08-10 17:57:26

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

After altering the file php.ini. you should restart the php/apache services.

昇り龍 2024-08-10 17:57:26

正如 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;

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

As reported in the PHP manual, you can also set them in your scripts (http://php.net/manual/en/function.ini-set.php#refsect1-function.ini-set-examples):

if (!ini_get('display_errors')) {
    ini_set('display_errors', '1');
}

So, a complete error setting to have the maximum level of error reporting could be something as:

if (!ini_get('display_errors')) {
    ini_set('display_errors', '1');
}

error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

$foo = bar;

Put this code at the beginning of your script and it'll show you all errors, notice and all the rest.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文