2016-09-21 3 views
1

Wenn ein Parse-Fehler erzeugt wird, z. innerhalb einer Controller-Handler ZF2 Ausnahme abfängt, und ichZF2-Ausnahme-Handler unterdrückt PHP-Parse-Fehler

An error occurred during execution; please try again later. 
No exception available 

nur sehen, ob ich einen Parser-Fehler innerhalb public/index.php produziere ich die Ebene PHP-Fehler im Browser sehen können, so sind PHP-Einstellungen korrekt sind.

Wie zwinge ich ZF2, solche Fehler im Dev-Modus anzuzeigen?

Antwort

2

Es stellte sich heraus, dass ich eine alte Version von view/error/index.phtml (Teil der Skelett-App) verwendete, die nicht auf Fehler vom Typ Error (seit PHP 7) vorbereitet war und nur Fehler vom Typ Exception behandelte.

diese Linie Haben

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

diese

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

da beide Ausnahme und Fehlerklasse Geräte zu ändern \ Throwable, nicht Sie denken, dass die Schnittstelle zu testen, anstatt besser ist? – Hooli

+0

@Hooli Das ist ein gültiger Vorschlag! Die aktuelle [Zend Skeleton Application] (https://github.com/zendframework/ZendSkeletonApplication/blob/master/module/Application/view/error/index.phtml#L6) prüft explizit auf \ Error und \ Exception. Es sieht jedoch nicht so aus, als würden sie Methoden verwenden, die nicht in \ Throwable definiert sind. – Rob

Verwandte Themen