2011-11-29 54 views
0

我已经看到这个问题数百万次,但没有一种解决方案适用于我的。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版本)。

+0

可能重复[警告:不能修改标题信息 - 标题已发送](http://stackoverflow.com/questions/3190833/warning-cannot-modify-header-information-headers-already-sent) – mario

回答

0

这意味着,输出已经开始。 尝试在ob_start()之前阅读ob_get_contents()以查找它是什么;

var_dump(ob_get_contents()); 
+0

在发布回复。亲切的问候,Dan Cearnau –

2

我也遇到了这个确切的问题,并最终找到了解决方案。您必须保存没有utf-8 BOM签名的文件,因为该文件在文档顶部包含一个字符。

在adobe dreamviewer中,我只需在保存文件时取消“包括Unicode签名(BOM)”并解决了我的问题。

相关问题