0

Zend-Framework를 버전 2.5.3으로 업데이트하고 PHP를 7.0으로 업데이트 한 이후로 예외가 발생하면 항상 전체 오류 메시지가 표시되지는 않습니다.ZF2 2.5 항상 가득 차있는 오류 메시지가 표시되지 않음

는 예 : 예외가 발생했습니다 내가 예외 메시지를 얻을 수있는 유일한 방법은 디버거를 사용하는 것입니다 (등급 : ExceptionStrategy, 행 : 121) : 프론트 엔드에서

enter image description here

, 일반적인 만 오류 메시지가 표시됩니다

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); 
012 : 나는 (내 local.php 파일 및 php.ini 파일에)에 PHP 오류보고 설정 한

enter image description here

이상하게도 때로는 스택 추적과 디버깅에 필요한 모든 것을 포함한 전체 오류 메시지가 표시되지만 때로는 그저 일반적인 오류 메시지 만 표시됩니다.

나는 다음과 같이 기대 :

enter image description here

누군가가 그 행동을 경험 한 적이 있습니까? 그게 정상인가요?

답변

0

좋아 지금은 내가 그것을 발견 :

뷰 관리자 설정 내부 전용 키가있다. 예외가 예외의 인스턴스의 경우 확인하는 경우 문이 있기 때문에 문제는 내 오류 템플릿에 있었다 : PHP 7 대부분의 오류는 오류 예외로보고 있기 때문에, 그래서 경우를 확장했다

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

- 이런 식으로 :

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

문제의 원인인지는 모르지만 어쨌든 언급할만한 가치가 있는지 확인하십시오.

예외를 표시하거나 렌더링하도록 뷰 관리자를 구성해야합니다. ZF2 documentation here 안에 뷰 렌더러를 구성하는 방법에 대한 자세한 내용을 볼 수 있습니다.

'display_exceptions' => true, 
+0

나는 이미 display_exceptions를 true로 설정했습니다. 동일한 액션에서 예외가 발생하더라도 때때로 전체 스택 추적을 제공하고 때로는 그렇지 않습니다. – Sepultura

관련 문제