我有一个Silex错误,重复4次。我想解决或隐藏它。页面正常加载,否则。
Symfony\Component\Routing\Exception\ResourceNotFoundException: in /var/www/project/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php on line 96
其次是:
Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET /es/blah" in /var/www/project/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/RouterListener.php on line 145
我正在测试不存在的路由的错误页面。这是我的'$ app->错误()'
$app->error(function(\Exception $e, $code) use ($app) {
switch ($code) {
case 404:
return $app['twig']->render('error.twig', array(
'errormessage' => 'Sorry. This page does not exist.',
));
break;
default:
return $app['twig']->render('error.twig', array(
'errormessage' => 'There has been an error.',
));
break;
}
});
我的操作系统是CentOS 6.5和PHP 5.3.3与Silex 1.2.3我相信。启用error_reporting(0)
中的index.php
无效。我也安装了Xdebug,供参考。
答案 0 :(得分:1)
所以,我已经弄明白了。如上所述,我收到有关异常处理的消息,但Silex和$app->error(Exception $e)
应该捕获异常。
事实上,异常被抛出并被正确捕获。
在我原来的问题中,我提到Xdebug
,这就是问题所在。 Xdebug
的设置为xdebug.show_exception_trace
,设置为1
时,无论如何都会显示例外情况。
这是我的php.ini
。为了解决这个问题,我不得不将其删除。
现在,一切都很顺利。