2013-11-03 73 views
0

當我經過一段時間(例如幾個小時)後返回我的網站時,出於某種原因,我得到了3個PHP警告,如截圖所示。當我登錄/註銷時,警告消失。PHP頭部警告...爲什麼?

enter image description here

[phpBB的調試] PHP的警告:在文件[ROOT] /includes/session.php上線1042:不能更改頭信息 - 頭已經發出(輸出開始/家庭/內容/ 60 /11957760/html/runicparadise/index.php:22) [phpBB調試] PHP警告:文件[ROOT] /includes/session.php 1042行:無法修改頭信息 - 頭已經發送(輸出開始/ home/content/60/11957760/html/runicparadise/index.php:22) [phpBB調試] PHP警告:文件[ROOT] /includes/session.php 1042行:無法修改標頭信息 - 標頭已經發送(輸出開始於/home/content/60/11957760/html/runicparadise/index.php:22)

這是來自第22行的php代碼它指的是...其他參考似乎是我的主機服務器上的某個地方,我猜?

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = './forums/'; 
$phpEx = substr(strrchr(__FILE__, '.'), 1); 
include($phpbb_root_path . 'common.' . $phpEx); 
// Start session management 
$user->session_begin(); 
$auth->acl($user->data); 
$user->setup(); 
?> 
+1

這是[一個非常流行的問題](http://stackoverflow.com/search?q=cannot+modify+header+information+php)here: )'。 – halfer

+1

其中一個文件會在發送標題之前輸出一些內容,可能是空白。 – Popnoodles

+2

在cookie,會話或頭呼叫之前輸出的地方。在'<?php'之前''>''或空格之後可能只是一個額外的換行符,但某處有輸出。你需要找到它並將其刪除。 –

回答

2

我敢打賭,你session_begin()你有在session_start()。會話通常基於「標題數據」的Cookie。如果以後在你的代碼中使用:

header(.....) // to set some additional header 

並在session_start和invoking頭之間回顯了某事。 - 由於發送數據後無法發送標題,因此會出現問題。您也可以使用session_start兩次(並在兩者之間回顯)

+0

我已將我的會話開始移動到此頁面的代碼頂部,它似乎已修復它 – runelynx