Ich bin heute auf ein interessantes Thema gestoßen. Wir haben eine Anwendung, die die Caching-Funktionalität von Zend Frameworks nutzt. Eine Anforderung an diese Anwendung ruft normalerweise eine Factory-Methode mit der folgenden Zeile
auf %Vor%Die Idee besteht darin, ein Objekt von der Factory-Methode zurückzugeben, auf die wir später zugreifen können. Wenn wir eine Caching-Funktion implementiert haben, stirbt dieser Aufruf einfach. Keine Fehler, nur ein weißer Bildschirm. Nichts im Fehlerprotokoll. Wir können die Zeile vor dem Fehler protokollieren, aber der Fehler in der Factory-Methode versucht nichts.
Interessanterweise ändern Sie die Zeile zu:
%Vor%behebt das Problem.
Wir haben ein paar Stunden damit verbracht, nach Fehlerberichten Ausschau zu halten und haben uns nicht viel vorgenommen, um dieses Verhalten zu erklären. Gedanken an jemanden?
Ich hatte Probleme wie diese, die dazu führten, dass __autoload nicht ordnungsgemäß zündete, wenn eine noch nicht geladene Klasse über einen PHP-Befehl aufgerufen wurde. Keine andere Strategie als dumme Versuch und Irrtum dafür, soweit ich weiß, versuchen Sie es einfach, wenn eine Zeile die Klasse explizit aufruft, bevor der PHP-Befehl sie für Sie löst.
%Vor%Ist es segfauling? Überprüfen Sie Ihre 'root' Apache Logs (außerhalb eines virtuellen Hosts) und sehen Sie, was los ist. Wenn dieser Thread segfauling ist, können Sie dies in den PHP-Mailinglisten und / oder Bug Tracker verfolgen.
Alternativ könntest du versuchen, http im Einzelbenutzermodus, in GDB, mit einer Debug-Kompilierung von PHP laufen zu lassen und zu sehen, ob du es erfassen kannst, aber das ist eine Menge Arbeit: -)
Tags und Links php caching zend-framework