php标头已经发送了第一行[重复]
Posted
技术标签:
【中文标题】php标头已经发送了第一行[重复]【英文标题】:php Header already sent first line [duplicate] 【发布时间】:2018-01-07 07:24:21 【问题描述】:<?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)发送 现在应该已经重定向了
为什么说我在第一行发送了标题?我该如何解决这个问题?
【问题讨论】:
flush()
之后不能发送标头。
这看起来是我给出的更好的答案,看看***.com/questions/4398951/…
该答案可以将内容放入 https,但是我仍然需要能够更改标题。由于我的代码没有任何问题,什么会导致标题无法正常工作?
【参考方案1】:
在发送标头之前不要调用flush();
。它发送输出缓冲区,因此它触发头部发送阶段的结束。
【讨论】:
尝试过仍然警告:无法修改标头信息 - 标头已由 /home/somesite/public_html/iq 中的(输出开始于 /home/somesite/public_html/iq/test.php:1)发送第 7 行的 /test.php 现在应该已经重定向了以上是关于php标头已经发送了第一行[重复]的主要内容,如果未能解决你的问题,请参考以下文章
警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 标头已发送 [重复]