我有一个输出mysql单元数据的脚本。"content“单元格包含不同长度的文本输出。
当"content“单元格的内容很小(例如,几行文本)时,一切都正常。但是,当输出到达几个段落或更多段时,我会得到“已发送的标题”错误。
它取决于输出长度吗?我在哪里能读到更多关于它的资料?我在上面找到的答案没有提到这种输出长度依赖关系。
44: echo "
45: <p>".$article['content']."</p>
46: ";如果“内容”输出的大小很大,则脚本将产生以下错误:
PHP警告:无法修改头信息--第56行/home/mantas/htdocs/asm/include/comments_class.php中已经发送的标题(输出开始于/home/mantas/htdocs/asm/ajle.php:46)
发布于 2013-07-14 21:24:01
如果你想要的话,PHP会缓冲输出。您可以使用ob_start()等以编程方式控制这一点。但是,还有一个在php.ini中设置输出缓冲的选项。
设置output_buffering=on启用它,而设置output_buffering=4096将设置缓冲区大小的限制。phpinfo()应该告诉您是否启用了它,以及缓冲区大小是多少。
PHP引用是这里
发布于 2013-07-14 21:23:50
"headers已经发送“警告意味着,在将输出发送到客户端(即使用echo、空格等)之后,您可以在代码中的某个位置修改http标头。
此警告本身与内容长度无关。
还有更多的方法,可以修改标题:
发布于 2021-12-22 11:12:41
我还遇到了“已由.发送的标题”。使用PHP的xmlWriter时出现问题。
我在脚本末尾插入了用于管理页面输出类型的“头”指令:
我通过将指令移到脚本的开头来解决这个问题,这个命令使用:
// init header earlier on script
header('Content-Type: text/xml; charset=utf-8');
header('Cache-Control: max-age=0');
header('Content-Disposition: inline');
// new xmlwriter object
$xml = new XMLWriter();
// set direct output stream
$xml->openURI('php://output');
// some code here for creating the xml output
// ....
// ....
// render xml to output
$xml->flush();https://stackoverflow.com/questions/17643837
复制相似问题