これは、デバッグ方法の質問の続きです:ヘッダーはすでに送信され、GD2です。具体的には、次のエラーを修正する方法(ソースを追跡するために以前のデバッグアドバイスを使用して最初の行が追加されていることに注意してください):
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 >
その質問は、この問題をデバッグする方法に関するものでした。この質問はそれを修正する方法です。その質問に対する私の「回答」に従って、そしてバニラMagentoインストールでさらにいくつかのテストを行ったところ、これがMagentoコアバグ(v1.7.0.2)のように見えることを確認できます。
これらのログは、標準のMagentoページ/ブロック画像マネージャーを使用して、ページまたは静的ブロックの画像を管理するだけで発生します。再現するには、画像が含まれているページを開きます。ページ上の画像ごとにこれらの1つが記録されます。画像マネージャーを開いて、アップロードされた画像を表示します-表示される画像ごとに別の画像があります。
問題はこの関数にあるようです。私の読書では、CMS画像がフェッチされてダッシュボードに表示されるたびにこのエラーが発生することが最も確実です。
public function display()
{
header("Content-type: ".$this->getMimeType());
call_user_func($this->_getCallback('output'), $this->_imageHandler);
}
ストアへの影響はないように見えますが、これは「害のないエラー」として扱わない方がよいでしょう(Microsoftは、正しく取得できない/修正できないものを呼び出すので!)。$ fileがgd2.phpの場合にエラーをスローしないようにlib / Zend / Controller / Response / Abstract.phpのcanSendHeader()を変更するだけでよいのではないかと思いますが、それは単に厄介なことです!
ダッシュボードにCMS画像を表示する一環としてcanSendHeadersが呼び出される前のある時点で、$ throwまたは$ this-> headersSentThrowsExceptionをfalseに設定して、例外が生成されないようにする必要があります。
何か案は?または、これはMagentoの所有者が一緒に暮らすことを学んだものです!?