PHP setcookie()给出“无法修改标题信息 - 标题已发送”警告
问题描述:
我已经看到这个问题数百万次,但没有一种解决方案适用于我的。PHP setcookie()给出“无法修改标题信息 - 标题已发送”警告
这适用于我的电脑,但不是在网络托管。这与php.ini或httpd.conf有关吗?
<?php
ob_start();
setcookie("show","1",time() + 300);
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>UDO - Under Development Office</title>
<body>
Hello World!
</body>
</html>
后来编辑:
<?php
var_dump(ob_get_contents());
?>
打印:布尔(假)
和
<?php
ob_start();
var_dump(ob_get_contents());
?>
打印:STR (0)“”
这不是一个重复的问题,因为在Stackoverflow之前问的问题都没有解决过这个问题。
我必须坚持这可以在我的Mac OS X上使用PHP 5.3.6,但不在共享主机上(相同的PHP版本)。
答
这意味着,输出已经开始。 尝试在ob_start()之前阅读ob_get_contents()以查找它是什么;
var_dump(ob_get_contents());
+0
在发布回复。亲切的问候,Dan Cearnau –
答
我也遇到了这个确切的问题,并最终找到了解决方案。您必须保存没有utf-8 BOM签名的文件,因为该文件在文档顶部包含一个字符。
在adobe dreamviewer中,我只需在保存文件时取消“包括Unicode签名(BOM)”并解决了我的问题。
可能重复[警告:不能修改标题信息 - 标题已发送](http://stackoverflow.com/questions/3190833/warning-cannot-modify-header-information-headers-already-sent) – mario