2009-09-25 47 views
2

有没有一种方法可以计算脚本在执行时遇到的错误/通知/警告的数量?计数PHP警告/通告的数量

我愿做这样的事情:

Warnings: 125 
Notices: 234 
..etc 

感谢

回答

7
$warn = $notice = 0; 
function f() { 
    global $warn, $notice; 
    $argv = func_get_args(); 
    switch($argv[0]) { 
    case E_WARNING: $warn++; break; 
    case E_NOTICE: $notice++; break; 
    } 
} 
set_error_handler('f', E_ALL); 

必要,展开:)

+0

你可能想返回false,那么PHP自己的错误处理程序仍然会运行 –

+0

谢谢。我有一个3500行的PHP脚本,在您的帮助下,我发现我有3,204,367条通知。我无法相信这个剧本是那么糟糕。但任何功能的机会可能都算错了! :P - 我把它放在顶部,并回应警告并注意底部。这个可以吗? – Abs

+0

汤姆提出了一个很好的观点,我只是假设你想压制所有其他的错误处理。 300万确实看起来很高,但我想不出我可能错过了什么。也许你可以在freenode irc网络上加入## PHP频道,并粘贴你的脚本,我相信我们其中的一个人可以深入了解你。 – TML

0

你可以使用set_error_handler()定义/它递增全局计数器以及日志显示错误的自定义错误处理程序。

+0

“最快的枪” 去你的,先生。 – TML