【问题标题】:Warning : session_start(): Cannot send session cache limiter - headers already sent even after using session_start() and ob_start() [duplicate]警告:session_start():无法发送会话缓存限制器 - 即使使用 session_start() 和 ob_start() [重复]
【发布时间】:2017-12-27 09:54:37
【问题描述】:

我已经收录了Session_start() and ob_start();在我的登录页面中,仍然收到错误警告:

session_start():无法发送会话缓存限制器 - 标头已经 在第 3 行发送(输出开始于 )。

我不知道是什么问题。

我尝试将ob_start 放在第一行和第二行与Session_start. 相同

这是我的代码:

 <?php
session_start();
ob_start();

error_reporting(0);

if(!empty($_SESSION["admin_prince"])){
    header("location:../index.php"); 
}
include '../connection.php';

 ?>

【问题讨论】:

  • 在你的实际代码中&lt;?php之前有空格吗?
  • 如果您正在处理后端应用程序逻辑,请尝试不使用 PHP 结束标签,这可能会添加将内容发送到浏览器的空白,因此在任何内容之后无法再修改标头已发送。
  • 在标题中试试这个代码
  • @chris85 是的,在 session_start() 之前的 php 代码中有空间

标签: php session


【解决方案1】:
        <?php
if(session_id() == '') {
    session_start();
}
ob_start();

error_reporting(0);

if(!empty($_SESSION["admin_prince"])){
    header("location:../index.php"); 
}
include '../connection.php';

 ?>

试试这个。

【讨论】:

    【解决方案2】:

    试试这个

    <?php session_start(); ?> 
    <?php
    ob_start();
    
    error_reporting(0);
    
    if(!empty($_SESSION["admin_prince"])){
        header("location:../index.php"); 
    }
    include '../connection.php';
    
     ?>
    

    【讨论】:

    • 这不起作用同样的错误
    【解决方案3】:

    我不知道,如果您的代码在您的问题中格式正确。但是如果是这样,请删除&lt;?php之前的空格。

    【讨论】:

    • 谢谢。节省了我的时间
    猜你喜欢
    • 2011-11-14
    • 2018-01-29
    • 2016-05-28
    • 2013-09-11
    • 2020-07-02
    • 2023-04-07
    • 2014-06-04
    • 1970-01-01
    • 2018-06-16
    相关资源
    最近更新 更多