如题
我在本地windows测试是成功的
上传到网上时,home页面就会出现这个警告:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/cucup97h/public_html/www.progetti.com.cn/application/home/html/home.php:6) in /home/cucup97h/public_html/www.progetti.com.cn/application/home/html/basic/top.php on line 4
然后top 4里面就是放的session_start()这句话
我查了很多,是说前面不能有输出,可是没有输出啊,BOM也检查了,都没有
这是home代码
<!DOCTYPE html>
<html>
    <head>   
        <title>Progetti | Complementi d'arredo e oggetti per casa e ufficio</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <?php require './basic/source.php'; ?>
        <link href="../style/animate-door.css" rel="stylesheet" />
        <script src="../js/animate-door.js"></script>
    </head>
    <body>     
        <?php
        require './basic/top.php';
这是top代码:
<div id="topbar" class="ohidden">
    <div  class="container">
<?php
session_start();
        if(!empty($_SESSION['user_id']))
        {
            echo $_SESSION['user_name'].'&#12288<a href="check.php?t=1">[退出]</a>';
            echo '<a href="orders.php" style="float:right;">我的订单</a>';
        }
        else
        {
            echo '请先&nbsp;<a href="#" onclick="show_login()">[登录]</a>&nbsp;或&nbsp;<a href="register.php">[注册]</a>';
        }
        ?>
    </div>
    </div>
但是,如果我在home代码最前面写上session_start(),top中的session_start()去掉,就是正常的,修改过的home:
<?php session_start();?>
<!DOCTYPE html>
<html>
    <head>   
        <title>Progetti | Complementi d'arredo e oggetti per casa e ufficio</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <?php require './basic/source.php'; ?>
        <link href="../style/animate-door.css" rel="stylesheet" />
        <script src="../js/animate-door.js"></script>
    </head>
    <body>     
        <?php
        require './basic/top.php';
为什么会上传到服务器,就出现这样的错误啊

解决方案 »

  1.   

    php 版本低于 5.4
      

  2.   

    是我的服务器上的php吗?
      

  3.   

    这是我服务器的php版本
    PHP Version 5.4.45
      

  4.   

    <div id="topbar" class="ohidden">
        <div  class="container">
    <?php
    session_start();在session_start(); 之前不是已经有输出了么。top代码:改这样试试,home不用改
    <?php session_start(); ?>
    <div id="topbar" class="ohidden">
        <div  class="container">
    <?php
            if(!empty($_SESSION['user_id']))
            {
                echo $_SESSION['user_name'].'&#12288<a href="check.php?t=1">[退出]</a>';
                echo '<a href="orders.php" style="float:right;">我的订单</a>';
            }
            else
            {
                echo '请先&nbsp;<a href="#" onclick="show_login()">[登录]</a>&nbsp;或&nbsp;<a href="register.php">[注册]</a>';
            }
            ?>
        </div>
        </div>