【问题标题】:session_start(): Cannot send session cache limiter - headers > already sentsession_start():无法发送会话缓存限制器 - 标头 > 已发送
【发布时间】:2016-12-14 00:35:02
【问题描述】:

我知道这个问题可能会被标记为重复,但我无法从任何重复的帖子中找到答案,所以我决定自己发布。

我有一个带有会话的页面。毕竟,有一个按钮可以链接到这个名为 Profileresult.php 的控制器,但即使我没有代码,但令我惊讶的是我得到了这个错误。

这是错误。

遇到了 PHP 错误

严重性:警告

消息:session_start():无法发送会话缓存限制器 - 标头 已经发送(输出开始于 /home3/oep2732/public_html/knowyourscore/application/controllers/Profileresult.php:1)

文件名:Session/Session.php

行号:140

回溯:

文件:/home3/oep2732/public_html/knowyourscore/index.php 行:315 函数:require_once

我创建了一个名为 Profileresult.php 的控制器

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Profileresult extends CI_Controller {


    public function index()
    {
    }

}

?>

【问题讨论】:

  • 确保在 php 标签开始之前没有空格,或者只是将 ob_start() 放在 php 代码的开头

标签: codeigniter session


【解决方案1】:

检查您的控制器文件。删除该文件中的所有空白空间。例如:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Profileresult extends CI_Controller {
    public function index() {
         //your codes here
    }
}
?>

在您的 IDE 中,如果您对 &lt;?php 标记顶部没有任何注释,请确保它位于 line 1 中。没有空格。 ?&gt; 标签的末尾也是如此。如果之后有空格。会出现这些错误。我遇到了和你一样的问题。正如 Aman Maurya 所说,我试图检查我的控制器文件,是的,我有几行空白。删除它,该错误不再显示。

【讨论】:

  • 这解决了我的错误,谢谢,但是任何细节,为什么它不需要在第一行,你是怎么想出来的,它会很有帮助
  • 嗨,Rida,我不知道为什么,但我相信下面的链接应该回答为什么会发生这种情况。 stackoverflow.com/questions/8812754/… 。我是怎么想出来的?我阅读了 Aman Maurya 的评论并尝试清除我的 php 文件顶部和末尾的所有空格,然后刷新时错误消失了。
  • 这个答案对我很有帮助。我无法想象即使一个空格也会产生错误。感谢您的回答。 :)
猜你喜欢
  • 2016-05-28
  • 2014-06-04
  • 2018-01-29
  • 2012-05-23
  • 2013-09-11
  • 2020-07-02
  • 1970-01-01
  • 2013-06-08
  • 2017-10-19
相关资源
最近更新 更多