php Header已经发送了第一行

时间:2017-07-31 16:10:42

标签: php http-headers http-redirect

<?php 
if(!isset($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != "on")
{
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);

header("Location: https://somesite.com/it");
die('should have redirected by now');

} 
?>

这是我使用的实际代码,在第一行代码之前没有空格或任何内容。

返回: 警告:无法修改标题信息 - 第8行/home/somesite/public_html/iq/test.php中已经发送的标题(/home/somesite/public_html/it/test.php:1开始输出) 应该已经重定向到现在

为什么说我在第一行发送了标题?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

在发送标头之前,请不要致电flush();。它发送输出缓冲区,因此它触发了报头发送阶段的结束。