ZF2 异常处理程序抑制 PHP 解析错误
ZF2 exception handler suppreses PHP parse errors
产生解析错误时,例如在控制器内部,ZF2 异常处理程序捕获它,我只看到
An error occurred during execution; please try again later.
No exception available
如果我在 public/index.php
中产生解析错误,我可以在浏览器中看到普通的 PHP 错误,所以 PHP 设置是正确的。
如何强制 ZF2 在开发模式下显示这样的错误?
原来我使用的是旧版本的 view/error/index.phtml
(框架应用程序的一部分),它没有为 Error 类型的错误做好准备(自 PHP 7 起)并且只处理 Exception 类型的错误.
必须更改此行
<?php if(isset($this->exception) && $this->exception instanceof Exception): ?>
至此
<?php if (isset($this->exception) && ($this->exception instanceof \Exception || $this->exception instanceof \Error)) : ?>
产生解析错误时,例如在控制器内部,ZF2 异常处理程序捕获它,我只看到
An error occurred during execution; please try again later.
No exception available
如果我在 public/index.php
中产生解析错误,我可以在浏览器中看到普通的 PHP 错误,所以 PHP 设置是正确的。
如何强制 ZF2 在开发模式下显示这样的错误?
原来我使用的是旧版本的 view/error/index.phtml
(框架应用程序的一部分),它没有为 Error 类型的错误做好准备(自 PHP 7 起)并且只处理 Exception 类型的错误.
必须更改此行
<?php if(isset($this->exception) && $this->exception instanceof Exception): ?>
至此
<?php if (isset($this->exception) && ($this->exception instanceof \Exception || $this->exception instanceof \Error)) : ?>