标题在php中是如何工作的?

标题在php中是如何工作的?,php,header,Php,Header,通过php.net站点,它有一个header示例,它说将给我错误。我复制了它,并在WAMP上执行,但它没有显示任何错误,而是重定向到该站点 <html> <?php /* This should give an error (but it doesn't!). Note the output * above, which is before the header() call */ header('Location: http://www.example.com/'); ?&

通过php.net站点,它有一个header示例,它说将给我错误。我复制了它,并在WAMP上执行,但它没有显示任何错误,而是重定向到该站点

<html>
<?php
/* This should give an error (but it doesn't!). Note the output
 * above, which is before the header() call */
header('Location: http://www.example.com/');
?>


听起来您已经启用了输出缓冲


标准配置可能会出错,因为数据已经被输出,并且头必须放在第一位。输出缓冲允许标题在其他输出之后出现在代码中,但由于缓冲区的原因,它仍然会首先输出标题。

任何文本发送到浏览器后,标题都会立即发送,并且只能发送一次。发送后,会同时发送标题,因此在发送之后尝试header函数会抛出headers ready sent错误。

我确实检查了我的php.ini文件,该文件打开了输出缓冲。就好奇而言,如果我有3个不同的头('Location:…')comand,它将不会执行前两个,并将重定向到第三个站点!?谢谢你这么快的回答:)@jtanmay:虽然这是一个有趣的问题,但这不是应该发生的事情。。。你只能被重定向到一个位置,所以“好代码”永远不会创建多个位置头。OP会问为什么没有像他们预期的那样抛出错误。