Dies ist eine Fortsetzung der Frage zum Debuggen: HEADER ALREADY SENT und GD2 . Insbesondere das Beheben der folgenden Fehler (Hinweis: Die erste Zeile wurde mithilfe vorheriger Debug-Hinweise hinzugefügt, um die Quelle zu verfolgen):
2014-02-04T14:26:06+00:00 DEBUG (7): Cannot send headers; headers already sent in /home/.../lib/Varien/Image/Adapter/Gd2.php, line 133
2014-02-05T16:14:32+00:00 DEBUG (7): HEADERS ALREADY SENT: < pre >
[0] /home/.../app/code/core/Mage/Core/Controller/Response/Http.php:52
[1] /home/.../lib/Zend/Controller/Response/Abstract.php:766
[2] /home/.../app/code/core/Mage/Core/Controller/Response/Http.php:83
[3] /home/.../app/code/core/Mage/Core/Controller/Varien/Front.php:188
[4] /home/.../app/code/core/Mage/Core/Model/App.php:354
[5] /home/.../app/Mage.php:683
[6] /home/.../public_html/index.php:87
</ pre >
Bei dieser Frage ging es darum, wie dieses Problem behoben werden kann. Diese Frage betrifft die Behebung. Gemäß meiner "Antwort" auf diese Frage und nachdem ich einige weitere Tests für eine Vanilla Magento-Installation durchgeführt habe, kann ich bestätigen, dass dies ein Magento-Kernfehler zu sein scheint (v1.7.0.2).
Das einfache Verwalten von Bildern auf Seiten oder statischen Blöcken mithilfe des standardmäßigen Magento-Seiten- / Blockbildmanagers verursacht diese Protokolle. Öffnen Sie zum Reproduzieren eine Seite mit Bildern. Pro Bild wird auf der Seite eines davon protokolliert. Öffnen Sie den Bildmanager und zeigen Sie hochgeladene Bilder an. Für jedes angezeigte Bild wird ein anderes angezeigt.
Das Problem scheint bei dieser Funktion zu liegen, die beim Lesen mit Sicherheit diesen Fehler verursacht, wenn ein CMS-Bild zur Anzeige im Dashboard abgerufen wird.
public function display()
{
header("Content-type: ".$this->getMimeType());
call_user_func($this->_getCallback('output'), $this->_imageHandler);
}
Obwohl es keine Auswirkungen auf den Store zu haben scheint, würde ich dies lieber nicht als "harmlosen Fehler" behandeln (da Microsoft gerne Dinge nennt, die sie nicht richtig machen / beheben können!). Ich denke, wir könnten canSendHeader () in lib / Zend / Controller / Response / Abstract.php so ändern, dass kein Fehler ausgegeben wird, wenn $ file gd2.php ist, aber das ist nur ein böser Kludge!
Irgendwann, bevor canSendHeaders als Teil der Anzeige von CMS-Bildern im Dashboard aufgerufen wird, sollte entweder $ throw oder $ this-> headersSentThrowsException auf false gesetzt werden, damit keine Ausnahme generiert wird.
Irgendwelche Ideen? Oder haben Magento-Besitzer gelernt, damit zu leben?