Php 与codeigniter(CI)的会话问题
我在使用codeigniter开发的live上遇到php会话错误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
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