2014-02-10 69 views
0

我意識到我的舞臺服務器和本地主機之間存在不匹配。
我發送了兩次頭部的錯誤。不幸的是在我的本地一切工作正常,但在階段服務器上,我得到一個正確的警告:
「警告:不能更改頭信息 - 頭已經發出」 ......標題重定向,無法修改標題信息

這是對我的Apache的一些配置的調整?

舞臺上GoDaddy的/ Linux上運行(?阿帕奇/版),PHP版本5.4.19
本地主機就是Apache/2.4.6,PHP 5.5.3-1ubuntu2.1

編輯:
一些示例代碼,希望能夠澄清...
在我的本地主機上,每次重定向頁面都沒有錯誤,輸出文本「Page redirect done!」每次刷新都會顯示。
在舞臺上,此錯誤報告爲「警告:無法修改標題信息 - 標題已經發送」,輸出文本「頁面重定向完成!」根本沒有顯示。

<?php 
ini_set("display_errors", true); 
error_reporting(E_ALL); 

if (!isset($_SESSION)) { 
    session_start(); 
} 
?> 
<html><body><h1>It works!</h1> 
</body></html> 
<?php 
if (isset($_SESSION['redirect'])) { 
    unset($_SESSION['redirect']); 
    echo "Page redirect done!<br><br>"; 
    echo "Session redirect is now unset, please update one more time to be sure!"; 
} else { 
    $_SESSION['redirect'] = "1"; 
    header("Location: index.php"); 
} 
?> 

謝謝!

+0

我找到了原因。我只是刪除我的php.ini中的output_buffering,並獲得與舞臺服務器上相同的行爲。關於在這個答案標題非常好的解釋http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php/8028987#8028987 – volt

回答

0

在你的代碼開頭添加這...

ini_set("display_errors", true); 
error_reporting(E_ALL); 

,或者你手動修改php.ini自己哪個地方是位於服務器上。

+0

謝謝!這不是關於如何報告錯誤嗎?我試過這個沒有成功。在我的情況下,代碼執行沒有錯誤(頁面完全重定向),日誌文件中沒有錯誤,也沒有錯誤。我將用代碼示例更新這個問題。 – volt