外观:
当脚本尝试将HTTP标头发送到客户端但之前已经有输出时,会发生此情况,这导致标头已经发送到客户端。
可能的原因 :
打印,回显:打印和回显语句的输出将终止发送HTTP标头的机会。必须对应用程序流程进行重组以避免这种情况。
原始HTML区域: .php文件中未解析的HTML部分也可以直接输出。header()必须在任何原始块之前记录将触发调用的脚本条件。
<!DOCTYPE html>
<?php
// 对于标题已经为时已晚。
<?php“ script.php第1行”警告之前的空白:如果警告涉及第1行中的输出,则在打开<?php令牌之前主要是前导空格,文本或HTML 。
<?php
# There's a SINGLE space/newline before <? - Which already seals it.
来自Mario的SO答案引用