0
我試圖在遇到致命錯誤時將用戶重定向到錯誤頁面。我想在onBootstrap方法中做這個重定向,像這樣。當遇到致命錯誤時,重定向到onBootstrap中的錯誤頁面
<?php
use Zend\Mvc\MvcEvent;
class Module
{
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$serviceManager = $e->getApplication()->getServiceManager();
register_shutdown_function(function (MvcEvent $event)
{
$response = $event->getResponse();
$response->setHeaders(
$response->getHeaders()->addHeaderLine('Location', "/error-page")
);
$response->setStatusCode(302);
$response->sendHeaders();
return $response;
});
}
}
?>
不過,我得到一個錯誤說:
Catchable fatal error: Argument 1 passed to
MyException\Module::MyException\{closure}() must be an instance of
Zend\Mvc\MvcEvent, none given in MyException\Module.php on line 11.
是否有任何其他方式將用戶重定向?
我也試過這個,但我得到標題已發送錯誤。
register_shutdown_function(function()
{
ob_clean();
ob_flush();
ob_start();
header ('Location: /');
ob_end();
});
任何想法如何解決這個問題?
感謝,