Php 视图中的异常会导致ZF2中出现白色屏幕

Php 视图中的异常会导致ZF2中出现白色屏幕,php,zend-framework2,Php,Zend Framework2,我已经开始在当前的dev-develope分支中使用ZF2的dev版本,从那时起,我在视图中的某个地方抛出的每个异常都会出现白屏 我已经安装了SkeletonApplication,以查看是否是我的应用程序中的某些东西导致了它,但同样的问题也出现在那里。降级到dev master解决了这个问题,我得到了标准的异常转储 查看zf2代码,我想我已经找到了原因。在Zend\Mvc\View\Http\DefaultRenderingStrategy::render()中,现在我们有: public f

我已经开始在当前的dev-develope分支中使用ZF2的dev版本,从那时起,我在视图中的某个地方抛出的每个异常都会出现白屏

我已经安装了SkeletonApplication,以查看是否是我的应用程序中的某些东西导致了它,但同样的问题也出现在那里。降级到dev master解决了这个问题,我得到了标准的异常转储

查看zf2代码,我想我已经找到了原因。在Zend\Mvc\View\Http\DefaultRenderingStrategy::render()中,现在我们有:

public function render(MvcEvent $e)
{
    ......
    try {
        $view->render($viewModel);
    } catch(\Exception $ex) {
        $application = $e->getApplication();
        $events      = $application->getEventManager();
        $e->setError(Application::ERROR_EXCEPTION)
          ->setParam('exception', $ex);
        $events->trigger(MvcEvent::EVENT_RENDER_ERROR, $e);
    }
    return $response;
}
所以异常被捕获,但是响应是空的,我不知道后者的原因

然而,出现了另一个问题:如果在布局中触发错误,错误处理程序将如何呈现异常页面?(就像在我的例子中-导航助手,它无法找到容器。)唯一可能的解决方案是有一个额外的错误布局,但这是没有意义的,因为有一个好的异常处理的原因已经不存在了

因此产生了以下问题:

  • ZF2开发人员计划如何解决该问题
  • 是否有当前的解决方法(实际上注释try{}catch(){}可以解决问题,但不是一个好的解决方案)
  • 由于产生上述代码的pull请求已关闭,我是否做了任何完全错误的事情,以及我是否完全错误地理解了它的工作方式

  • 检查zf2配置文件,确保已打开异常显示选项:

    'view_manager' => array(
        'display_not_found_reason' => true,
        'display_exceptions'       => true,
    ),
    

    检查zf2配置文件,确保已打开异常显示选项:

    'view_manager' => array(
        'display_not_found_reason' => true,
        'display_exceptions'       => true,
    ),
    

    1-解决问题的第一步是看到这个问题,而您无法看到它,因为您的默认配置设置为隐藏所有错误,所以
    error\u reporting(E\u all);ini_集('display_errors','1')
    public/index.php
    的顶部显示错误并向我们显示更多信息,这是我在index.php中的配置:问题是,根本不会引发异常。如果您认为这是一个框架问题,请在github上打开一个问题并将其解决;)1-解决问题的第一步是看到这个问题,而您无法看到它,因为您的默认配置设置为隐藏所有错误,所以
    error\u reporting(E\u all);ini_集('display_errors','1')
    public/index.php
    的顶部显示错误并向我们显示更多信息,这是我在index.php中的配置:问题是,根本不会引发异常。如果您认为这是一个框架问题,请在github上打开一个问题并将其解决;)嗨,我有这些设置,但它仍然不工作。也许这确实是一个bug,我必须按照@Sam的建议提交它。嗨,我有这些设置,但它仍然不起作用。也许这确实是一个bug,我必须按照@Sam的建议提交它。