2013-11-03 45 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