0
A
回答
1
在您的Module.php的onBootstrap()附加一個事件來監聽調度錯誤。
$eventManager = $e->getApplication()->getEventManager();
$eventManager->attach(MvcEvent::EVENT_DISPATCH_ERROR, function($event){
$response = $event->getResponse();
$response->setStatusCode(500);
return $response;
});
0
如果你扔在MvcEvent :: EVENT_ROUTE或MvcEvent的聽衆錯誤:: EVENT_DISPATCH那麼你必須自己捕捉異常。
public function onDispatch(MvcEvent $event)
{
$routeMatch = $event->getRouteMatch();
$controllerName = $routeMatch->getParam('controller', 'not-found');
/** @var Application $application */
$application = $event->getApplication();
$events = $application->getEventManager();
$route = $routeMatch->getMatchedRouteName();
$request = $event->getRequest();
$controllerLoader = $application->getServiceManager()->get('ControllerManager');
if ($controllerLoader->has($controllerName)) {
$controller = $controllerLoader->get($controllerName);
try {
if ($route == "requests" && $request instanceof Request && $request->getMethod() == 'POST') {
$this->checkAuthRequest($request);
}
} catch (\Exception $ex) {
$event->setError($application::ERROR_EXCEPTION)
->setController($controllerName)
->setControllerClass(get_class($controller))
->setParam('exception', $ex);
$events->trigger(MvcEvent::EVENT_DISPATCH_ERROR, $event);
}
}
}
相關問題
- 1. Cakephp 2.1.1發生內部服務器錯誤經常發生
- 2. 當發生異常時,使Struts發送500內部服務器錯誤
- 3. Node.js:Mongoose發生內部服務器錯誤
- 4. Kaltura - 發生內部服務器錯誤
- 5. 在laravel中使用jtable時發生內部服務器錯誤
- 6. Ubuntu 11.10下的Zend Framework:虛擬服務器發生內部服務器錯誤
- 7. 500使用多部分時發生內部服務器錯誤
- 8. 500 - 部署到IIS時發生內部服務器錯誤
- 9. Azure Bot服務 - 「在服務器發生內部錯誤」
- 10. 在magento結賬時發生500內部服務器錯誤
- 11. 如何解析異步http文章中發生的內部服務器錯誤?
- 12. 嘗試執行CURL時發生500內部服務器錯誤
- 13. Azure Bot服務:「服務器發生內部錯誤。」
- 14. 提交HTML/PHP表單時發生內部服務器錯誤
- 15. jQuery,Ajax,PHP後發生錯誤500(內部服務器錯誤)
- 16. 上傳文件時發生內部服務器錯誤
- 17. 執行SOAP請求時發生內部服務器錯誤(500)
- 18. 文件上傳時發生內部服務器錯誤
- 19. 在Laravel 4中發生500個內部服務器錯誤
- 20. 使用curl時發生500內部服務器錯誤
- 21. 執行付款時發生內部服務器錯誤
- 22. 上傳視頻時發生內部服務器錯誤
- 23. 顯示錶單時發生內部異常錯誤
- 24. 發佈流時發生內部錯誤
- 25. HttpWebResponse導致線程中發生內部服務器錯誤
- 26. 啓動服務時發生異常:com.google.android.c2dm.intent.REGISTER
- 27. Ajax錯誤 - 請求外部頁面時發生500內部服務器錯誤
- 28. 當我打網絡服務器時發生500內部服務器錯誤
- 29. 使用JSON調用asmx Web服務器時發生內部服務器錯誤
- 30. 500 - 當我在ajax發表帖子時發生內部服務器錯誤
我把它用,無論你想設置全局,而不是需要修改每個控制器和行動解決方案,控制你的意思嗎? –
是的,我的意思是全球! –