25 Stimmen

Anzeige von php-Fehlern bei Verwendung des Zend-Frameworks

Ich habe mit Zend Framework und gerade leben mit diesem Problem für eine Weile, aber es ist jetzt einfach zu ärgerlich geworden, so dass ich die Frage an Sie senden.

Es gibt bestimmte Probleme innerhalb des Zend-Frameworks, die Zend erkennen kann (wie z.B. der Aufruf eines nicht existierenden Controllers), und dieses Problem an den ErrorController sendet. Ich habe das gut hinbekommen.

Es scheint einige Probleme zu geben, dass Zend Framework fehlschlägt und den Fehler über php anzeigt, z.B. wenn eine bestimmte Funktion nicht existiert oder so. Diese kann ich sehen und beheben.

Manchmal schlägt Zend jedoch nicht fehl, aber es sendet auch einfach eine leere Antwort. Ich werde eine leere Seite erhalten. Das Layout wird nicht angezeigt, es gibt keinen Code, es gibt nichts, was mir eine Vorstellung davon gibt, was schief gelaufen ist. Beim letzten Mal war ein require() fehlgeschlagen. Ich musste das manuell herausfinden und bekam keine Rückmeldung.

Hat jemand von Ihnen diese Erfahrung gemacht? Haben Sie einen Rat, wie man diese Fehler anzeigen lassen kann? Für jede Hilfe wären wir dankbar!

1voto

piyush Punkte 11

Öffnen Sie urproject/application/config und öffnen Sie application.ini
Ändern Sie die zweite Zeile:

phpSettings.display_errors = 0 

zu

phpSettings.display_errors = 1

Jetzt werden Fehler angezeigt.

1voto

Vasiliy Toporov Punkte 766

Schnelle und schmutzige Entscheidung, wenn keine der bereits erwähnten Methoden funktioniert (nützlich für alte oder hässlich konfigurierte Versionen von ZF):

  • finden Sie den ErrorController Ihrer Anwendung.
  • den Aufruf der Funktion debug_print_backtrace an den Anfang der init-Methode stellen (optional mit die())

0voto

grasshopper Punkte 3831

Für alle, bei denen die hier gegebenen Antworten nicht funktionieren, kann man jederzeit die Apache-Logs aufrufen, um eine Beschreibung des Problems zu sehen. Es wäre natürlich bequemer, wenn dies auf der Seite angezeigt würde, aber ich halte es für eine akzeptable Alternative.

 /var/log/apache2/error.log

Ich habe diese Datei mit vim geöffnet und tippe :e zum Aktualisieren und G, um zum Ende der Seite zu gehen, um den letzten Fehler zu sehen, wenn ich die leere Seite bekomme. Es wird der Zeitpunkt des Auftretens des Fehlers, die Meldung und die Zeile angezeigt, also ist es ziemlich hilfreich.

0voto

Prabhagaran Punkte 3340

Fügen Sie diese Zeilen in application/configs/config.php ein

error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 'on');

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X