2011-11-29 84 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)」並解決了我的問題。

相關問題