“无法发送会话缓存限制器 - 已发送的标头”

时间:2012-01-11 00:51:06

标签: php session

  

可能重复:
  PHP headers already sent
  Headers already sent by PHP

会话问题变得非常烦人。每次我尝试在特定页面上启动会话时,都会出现以下错误:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ............ on line 23

使用此代码:

<?php
session_start();
if(isset($_SESSION['user']))
    {
        $user = $_SESSION['user'];
        echo "$user";
    }
else
    {
    }
?> 

是否表示我已使用session_start();?我环顾四周,但没有什么能真正为我清除这一点。

由于

1 个答案:

答案 0 :(得分:237)

“已发送标头”表示您的PHP脚本已经发送了HTTP标头,因此它现在无法对它们进行修改。

在致电session_start之前,请检查您是否发送了任何内容。更好的是,只需要在PHP文件中首先执行session_start(所以在所有HTML等之前将它放在绝对的开头)。