我的system.log文件中收到以下错误:
2011-01-12T14:16:52+00:00 DEBUG (7): HEADERS ALREADY SENT:
[0] C:\xampp\htdocs\www.mysite.com\app\code\core\Mage\Core\Controller\Response\Http.php:44
[1] C:\xampp\htdocs\www.mysite.com\lib\Zend\Controller\Response\Abstract.php:727
[2] C:\xampp\htdocs\www.mysite.com\app\code\core\Mage\Core\Controller\Response\Http.php:75
[3] C:\xampp\htdocs\www.mysite.com\app\code\core\Mage\Core\Controller\Varien\Front.php:188
[4] C:\xampp\htdocs\www.mysite.com\app\code\core\Mage\Core\Model\App.php:304
[5] C:\xampp\htdocs\www.mysite.com\app\Mage.php:596
[6] C:\xampp\htdocs\www.mysite.com\index.php:81
我知道“已发送的标头”是什么意思,但我不知道是什么文件导致了此问题,并且跟踪并没有真正给我任何信息。
有没有办法找出有问题的文件?
谢谢!
最佳答案
这是困难的方法。
在进行日志记录的文件中找到位置
C:\xampp\htdocs\www.mysite.com\app\code\core\Mage\Core\Controller\Response\Http.php
Mage::log('HEADERS ALREADY SENT: '.mageDebugBacktrace(true, true, true));
添加日志记录以获取到目前为止包含/需要的每个文件的副本
Mage::log(print_r(get_included_files(),true));
如果您记得将文件恢复到预先混乱的状态,则可以将此日志记录直接添加到核心文件中,或者可以在以下位置添加临时副本:
app/code/local/Mage/Core/Controller/Response/Http.php
只要您记得完成后将其删除(或仅使用git)即可。
检查此文件列表以查找常见的空白字符,然后检查它们是否具有可能产生输出的任何功能(
echo
,print
,readfile
,可能还有更多功能)关于debugging - Magento调试头已发送错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4670031/