无法发送标头;标题已在/home/zk/public_html/lib/Zend/Cache/Backend/File.php,第1行发送
跟踪:
#0 /home/zk/public_html/lib/Zend/Controller/Response/Abstract.php(115): Zend_Controller_Response_Abstract->canSendHeaders(true)
#1 /home/zk/public_html/app/code/core/Mage/Core/Model/App.php(1246): Zend_Controller_Response_Abstract->setHeader('Content-Type', 'text/html; char...')
#2 /home/zk/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(80): Mage_Core_Model_App->getResponse()
#3 /home/zk/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(202): Mage_Core_Controller_Varien_Front->getResponse()
#4 /home/zk/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#5 /home/zk/public_html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#6 /home/zk/public_html/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#7 /home/zk/public_html/index.php(87): Mage::run('', 'store')
#8 {main}
我是magento的新手,无法找到错误
答案 0 :(得分:2)
这篇文章将帮助您How to fix "Headers already sent" error in PHP
你可以尝试放入php文件的开头
<?php ob_start(); ?>
最后
<?php ob_end_flush(); ?>
答案 1 :(得分:1)
此错误表示当Magento尝试发送其标头时,已经发送了一些输出。如果你发送输出,标题会在输出之前自动发送,从那时起就无法发送另一个标题。
因此,如果在header
function调用之前某处发送了某些内容,请尝试检查。例如,PHP开始标记<?php
之前的任何字符都会导致发送输出。字符也可能不可见,例如UTF-8 BOM (Byte Order Mark),因此请使用hex-viewer / editor进行检查。
PHP关闭标记?>
之后的任何字符都会导致这种情况,因此完全省略PHP结束标记是一种很好的做法。
首先,我建议检查第1行文件/home/zk/public_html/lib/Zend/Cache/Backend/File.php
中的内容。如果只有<?php
,请使用hex-viewer检查字符“&lt;”是文件中的第一个,或者在它之前有一些不可见的字符。