+ -
当前位置:首页 → 问答吧 → 关于session_satrt()的解决总结

关于session_satrt()的解决总结

时间:2009-05-01

来源:互联网

最近遇到了session的问题,好几天,不断分析代码,不断找错,但是总是有那个warn:Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
在今天就在今天,我找到了解决方案:
.php代码session_start() 前面不能有输出,而且必须放在首行;在session_start()的php代码之前的任何字符都被看作headers。
所以解决方法是:
将<? session_start();.......?>放到文件首,并且<? 前面不能有任何字符
但还有几种我没试,他们是
1.php.ini中的output_buffering=off 改成output_buffering=4096
2.php.ini中的session.save_path是否设置好了
3.pgp.ini中的session.auto_start = 0 改成session.auto_start = 1

作者: xiucai315   发布时间: 2009-05-01

session_start()通常是放在公用入口文件的,在业务逻辑的程序输出之前。这样就不会在session_start()之前有输出了。

通常关于session的处理,我个人会在公用文件这样处理:
session_write_close();
ini_set('session.auto_start', 0);
ini_set('session.cookie_lifetime',  0);
ini_set('session.gc_maxlifetime',   3600);
session_start();

作者: evangui   发布时间: 2009-05-01

做个记号

作者: 智能ABC   发布时间: 2009-05-01

evangui
ini_set('session.cookie_lifetime',  0);
请问一下这个设定(有效期)是否会影响客户端JS设定cookie的属性呢?

作者: mark3536   发布时间: 2009-05-03

GB2312转UTF通常会有这情况,清除下bom应该就可以了......

作者: 林轻灵   发布时间: 2009-05-03

.php代码session_start() 前面不能有输出,而且必须放在首行;
=>应该是比较基础的。

作者: luzhou   发布时间: 2009-05-03

最近遇到了session的问题,好几天,不断分析代码,不断找错,但是总是有那个warn:Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
在今天就在今天, ...
xiucai315 发表于 2009-5-1 10:53
seesion_start()之前不能有输出是没错。但是“必须放在首行”不太对吧。

作者: litcat   发布时间: 2009-05-03

seesion_start()之前不能有输出是没错。但是“必须放在首行”不太对吧。
litcat 发表于 2009-5-3 21:54
re:之前有其他的php语句也没有问题吧!

作者: 一贯而终   发布时间: 2009-05-04

mark3536
不影响的,这个只针对键名为PHPSESSID的cookie的设置,就是只对session有效。

作者: evangui   发布时间: 2009-05-05

sorry,sorry我还是太基础了,谢谢大家的指导,,

作者: xiucai315   发布时间: 2009-05-06

偶也做个记号`

作者: 蝎子小水   发布时间: 2009-05-06

我一般是将session_start()放在common.inc.php里面的最前面

作者: claymore   发布时间: 2009-05-06

临时解决办法是开 ob_start()

作者: mark3536   发布时间: 2009-05-07

与session_start()一样,ob_start()前面也不能有任何输出!

作者: langcier   发布时间: 2009-10-20

作者: 邹梨明   发布时间: 2009-11-11

不能有空格,不能有echo等输出.
其实还有个问题就是utf-8的bom

作者: 林轻灵   发布时间: 2009-12-25