session_start()在页面加载时发出警告

时间:2014-10-21 03:39:24

标签: php html session session-variables session-state

我在页面加载时收到与session_start()相关的错误。

  

警告:session_start():无法发送会话缓存限制器 - 已发送的标头

我从之前的帖子中了解到,即使在所有HTML之前,我们也应该把它放在页面的开头。所以我把我的代码更改为:

    <?php
    if(session_id()=='')
    {
       session_start();
    }
    if (!isset($_SESSION['can_access']) || ($_SESSION['can_access'] != TRUE))
    {
       echo "Access denied";
       exit();
    }
    ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge chrome=1" />


 </head>
 <body>

但我仍然遇到这个错误。有人可以建议可以做些什么吗?

2 个答案:

答案 0 :(得分:1)

确保在拨打该线路之前没有向浏览器输出任何内容,包括任何空格或换行符。

答案 1 :(得分:0)

此错误是因为PHP脚本在session_start()之前发送了HTTP标头。确保在调用session_start()之前不发送任何内容。