0

Поскольку я обновил Zend-Framework до версии 2.5.3 и PHP до версии 7.0, я не всегда получаю полное сообщение об ошибке, если возникает исключение.ZF2 2.5 не всегда отображается полное сообщение об ошибке

например: исключение произошло, и единственным способом я могу получить сообщение об исключении с помощью отладчика (Класс: ExceptionStrategy, Row: 121):

enter image description here

В веб-интерфейсе, только общий отображается сообщение об ошибке:

enter image description here Я включил отчетности PHP ошибок (в моем local.php и php.ini):

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); 

Как ни странно, иногда я получаю полное сообщение об ошибке, включая трассировку стека и все, что мне нужно для отладки, но иногда я получаю только это общее сообщение об ошибке.

я ожидал бы выглядеть следующим образом:

enter image description here

ли кто-то испытал это поведение? Это нормально?

ответ

0

Хорошо, теперь я его нашел. Проблема была в моем шаблоне ошибки, потому что это заявление, если-который проверяет, если исключение является экземпляром Exception:

<?php if(isset($this->exception) && $this->exception instanceof Exception): ?> 

Поскольку PHP 7 большинство ошибок сообщается, за исключением ошибок, так что мне пришлось продлить, если -statement вот так:

<?php if(isset($this->exception) && ($this->exception instanceof Exception || $this->exception instanceof Error)): ?> 
0

Не уверен, что это вызывает проблемы, но стоит упомянуть об этом в любом случае.

Вы должны настроить диспетчер view для отображения/отображения исключений. Вы можете узнать больше о том, как настроить средство визуализации в пределах ZF2 documentation here.

Существует специальный ключ внутри вид менеджер конфигурации:

'display_exceptions' => true, 
+0

Я уже установил display_exceptions в true. Даже если исключение происходит в одном и том же действии, оно иногда дает мне полный след стека, а иногда и не – Sepultura

Смежные вопросы