Php 与codeigniter(CI)的会话问题

Php 与codeigniter(CI)的会话问题,php,mysql,codeigniter,Php,Mysql,Codeigniter,我在使用codeigniter开发的live上遇到php会话错误 A PHP Error was encountered Severity: Warning Message: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/userts4m/public_html/development/relatio

我在使用codeigniter开发的live上遇到php会话错误

A PHP Error was encountered

Severity: Warning

Message: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/userts4m/public_html/development/relatioweb/admin/index.php:1)

Filename: Session/Session.php

Line Number: 140

Backtrace:

File: /home/userts4m/public_html/development/relatioweb/application/admin/controllers/User.php
Line: 9
Function: __construct

File: /home/userts4m/public_html/development/relatioweb/admin/index.php
Line: 293
Function: require_once
在本地主机上工作很好。但当我在服务器上上传时,我们面临着这个问题


我应该怎么做…

这通常意味着在某个地方您已经有了一个
会话\u start()
,第二个会话将抛出此错误。删除多余的一个。

尝试使用@session_start();它将绕过错误并启动会话。
请注意@session_start()是您的第一行代码。不要在它之前执行或回显任何内容。

有两种解决方案可以解决此问题

有时,此错误是由于框架的错误配置造成的, 转到文件夹
applications/config
,打开
config.php
在文件开头这样写

<?php

  if (!defined('BASEPATH')) exit('No direct script access allowed');
    ob_start();
    /* Remaining Part Of your file
     .........................................
   */

根据
@kunal
@dale
的建议,在
/home/userts4m/public\u html/development/relatioweb/admin/index.php
中有一个空间,问题在这里得到了很好的解释

为了解决这个问题,我需要实现 输出缓冲的概念(输出缓冲是一种机制,在这种机制中,我们不将响应立即发送到浏览器,而是将其缓冲到某个位置,以便在整个内容就绪时立即发送响应)。 因此,当错误指示index.php中出现问题时
我所做的我插入了

ob_start();

在index.php的开头,该文件中的start php标记之前可能有空格

检查控制器文件,如果在php标记之前有空格,请将其删除。

检查您的文件是否有多余的空格,或者输入,在我的情况下,在php标记之前的application/config/autoload.php中有一个额外的输入(Iam使用codeigniter)

此功能将打开输出缓冲。而输出缓冲是 而不是从脚本(头除外)发送任何输出 输出存储在内部缓冲区中

此内部缓冲区的内容可以复制到字符串中 使用ob_get_contents()的变量。输出存储在 内部缓冲区,使用ob_end_flush()。或者,ob_end_clean() 将自动放弃缓冲区内容


我不得不转到php.ini并从
始终填充\u原始\u发布\u数据=-1
行中删除注释。

我想你忘了删除print\u r();死亡或者echo语句这个文件的第1行是什么
/home/userts4m/public_html/development/relatioweb/admin/index.php
更改
User.php
管理员控制器的构造函数中的某些内容。我无法理解这个答案?@Jack,我在开始时忘记删除文件中的单个空格时出现上述错误
ob_start();
 ob_start ([ callable $output_callback = NULL [, int $chunk_size = 0 [, int $flags = 
 PHP_OUTPUT_HANDLER_STDFLAGS ]]] ) : bool