2009-12-27 117 views
3

我尝试注册关机功能以记录致命错误。不错的东西,它是否会工作为我的课...为什么PHP会抱怨我的register_shutdown_function()?

里面我这样做的方法:

register_shutdown_function(array($this, 'handleFatalError')); 

handleFatalError也不是一成不变的,它是市民:

public function handleFatalErrors() { 
    if(is_null($e = error_get_last()) === false) { 
     //mail('[email protected]', 'Error from auto_prepend', print_r($e, true)); 
    } 
} 

PHP说:

警告:register_shutdown_function()来 [function.register关机功能]: 无效关机回调 “错误管理:: handleFatalError” 传递...

为什么是一个无效的回调?

回答

11

因为你试图注册“handleFatalError”和方法被称为“handleFatalErrors”。

呃......就是这样。

+0

你是对的人。 %$§! – openfrog 2009-12-27 21:36:14

+0

@middaparka即使我得到这个错误。但我没有犯任何错字错误。还有什么可能发生这种情况? – 2013-05-04 12:09:39

0

关机功能可能会称为之后的所有对象都被解构,你有没有尝试过:

register_shutdown_function(array('ErrorManager', 'handleFatalError')); 
+0

的S我的代码中有一个丑陋的错字。该死的。 – openfrog 2009-12-27 21:35:43

5

看起来应该是:

register_shutdown_function(array($this, 'handleFatalErrors')); 

注上handleFatalErrors

相关问题