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

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

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();?我四处看了看,但没有什么能让我明白这一点。

谢谢

485779 次浏览

“ Header already sent”意味着您的 PHP 脚本已经发送了 HTTP Header,因此现在不能对它们进行修改。

在调用 session_start之前,请检查您没有发送任何内容。更好的做法是,将 session_start作为您在 PHP 文件中要做的第一件事(所以将它放在绝对开头,放在所有 HTML 等之前)。