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

时间:2014-04-20 22:16:00

标签: php session

我在这里阅读了答案How to fix "Headers already sent" error in PHP,但这并不能解决我的错误。

我不明白,session_start()是我在文件中调用的第一件事,我使用的是没有BOM编码的UTF-8。但我仍然得到这个php警告。

错误:

PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at /home/feyzprod/public_html/nearby/register.php:1) in /home/feyzprod/public_html/nearby/register.php on line 1

我的文件编码是

Encoding is UTF-8 without BOM

代码:

<?php session_start();
    require_once('bdservice.php');
    require_once('script.php');

    $bd = new BDService();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">

<title>NearBy Me : Courtier immobiliers</title>

<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="css/ico.css" />
<link rel="stylesheet" href="https://formoid.net/forms/30/17477/formoid-default-skyblue.css" type="text/css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://formoid.net/lib/iframe.js"></script>
<link rel="stylesheet" href="https://formoid.net/lib/form.css" type="text/css" />

<script>

</script>

</head>

<body>
    <div class='bar'>
        <div class='header'>
            <div id='left'></div>

            <div id='right'>
                <div style='margin-top:35px;'>
                <span><a href='#'>Français</a> | <a href='#'>Anglais</a></span><br/><br/>
                <?php
                    if(isset($_SESSION['authentification']))
                    {
                        echo "<a href='profil.php'><button class=\"large green button\">Profil</button></a>";
                    }
                    else
                    {
                        echo "<a href='connexion.php'><button class=\"large green button\">Login</button></a>";
                    }
                ?>
                </div>
            </div>

            <div style='clear:both;'></div>
        </div>
    </div>

    <div class='inscription'>
        <img src='images/inscription.png' alt='inscription' title='inscription' /><br/><br/>
            <?php
                if(!isset($_POST['Valider']))
                {

1 个答案:

答案 0 :(得分:3)

您可能在/home/feyzprod/public_html/nearby/register.php的开头有一个空格或其他空白字符,在错误中表明它位于第1行。

空间将回显输出,这意味着您无法再写入标题,这是PHP希望通过cookie设置会话信息的地方。