我想记录除了未定义的变量条目之外的所有错误......不应该这样做吗?
error_reporting(E_ERROR | E_WARNING | E_PARSE);
答案 0 :(得分:9)
它会隐藏所有通知,但是应该这样做:
error_reporting(E_ALL ^ E_NOTICE);
你应该解决问题。
答案 1 :(得分:1)
通过自定义错误处理程序记录这些通知。这是你必须适应的事情。查找set_error_handler()
及其定义的函数。它有一个声明如下:
function user_err_log ($errno, $errstr, $file, $line, $context) {
并且您想检查$errno
以将通知与错误分开:
if ($errno == E_NOTICE or $errno == E_USER_NOTICE) {
// log to a debug file instead
return;
}
error_reporting(0x0000)
和错误抑制运算符@
优于isset
语法抑制的优势在于重要通知仍然可以到达自定义错误处理程序。但如果你不关心它们,你必须手动对它们进行排序。哪个记录错误 ,你不应该这样做。 (为了以防万一,我个人会设计一种方法来在其他地方发布通知。)