当前位置:首页 > PHP教程 > php会话 > 列表

session_start() [function.session-start]: Cannot send session cookie

发布:smiling 来源: PHP粉丝网  添加日期:2013-11-29 15:35:28 浏览: 评论:0 

在使用session的时候出来如下错误提示:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/u114264/include/db_mysql.class.php:1) in /home/u114264/login1.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/u114264/include/db_mysql.class.php:1) in /home/u114264/login1.php on line 3

分析最大的可能是在session_start()前面有字符输出包括空格,只要处理就好了,还有一种方法直接给session_start()加上@session_start()就没事了,但这种方法不推荐。

最通常的解决方案,打开output_buffering = 4096;全局性质。

第二种解决方案,ob_start:打开输出缓冲区

函数格式:void ob_start(void)

说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区,为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

注意的地方:如果使用utf-8编码,一定要去掉UTF-8中的BOM,这都是因为utf-8编码文件含有的bom原因,而php4,5都是不支持bom的,去掉bom,可以用Notepad++打开转换一下.

Tags: sessionstart function session-start

分享到: