注意:我不试图解决headers already sent
问题。我正在尝试创建一个!
我以为我明白了导致这个错误的原因,我试图向一些学生证明这一点。这是一个示例脚本:
Hello
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
print 'This space for rent …';
setcookie('test',12);
header('Testing');
?>
如您所见,我正在尽力在设置标头之前发送输出,可以通过设置cookie间接发送输出,也可以直接使用header()
功能。
问题听起来很奇怪,我怎么能出现这个错误?
答案 0 :(得分:1)
如果在php.ini中启用了输出缓冲,则在收到输出并在结束时发送时,它不会抛出错误。这有点像&#34;懒惰的人&#34;防止这些错误的方法,而不是实际修复导致它们的脚本。您可以通过在输出之前关闭或结束输出缓冲来创建错误,例如ob_end_clean()(然后输出,然后是标题)
答案 1 :(得分:0)
要创建此错误,只需在页眉后的任何位置使用header()函数。
<html>
<head>
<title>.....</title>
</head>
<?php
header("location:index.php");
?>
确保您的php.ini设置为也显示这些错误。