只有在索引页,我的会话不会开始不确定,因为它是我的主机


Only in index page my session wont start not sure because its my host

只有在我的索引页面中,会话不会启动,但如果我转到另一个页面,会话就会启动,或者如果我转到其他页面,而不是回到索引页面,会话会启动。我的设置方式是使用jQueryAJAX。如果它通过了,它应该创建一个会话,而不是页面刷新,而不是会话启动,但它不会启动,这就是问题所在。

索引页面的顶部:

ob_start;
error_reporting(0);
session_set_cookie_params(3600 * 24 * 7, '/', '.example.com');
session_start();

如果我去掉error_reporting(0),我会得到这些错误

session_start()[function.session start]:无法发送会话cookie-标头已存在session_start()[function.session start]:无法发送会话缓存限制器

我在其他页面中没有得到这些错误

我的猜测是,您的PHP上面有内容,可以是空白、HTML,也可以是<?php前面的空格。你不能在<?php之上有任何东西,比如<div>。。。,或<table>。。。等

检查一下你是否这样做了。这就是为什么你会收到"headers already sent"的错误消息。

将会话函数置于一切之上。此外,ob_start是一个函数,必须调用。

在编写代码时,error_reporting()应始终设置为-1。当它被上传到服务器时,它应该被设置为0。使用php.ini文件通常更容易处理它。

session_set_cookie_params(3600 * 24 * 7, '/', '.example.com');
session_start();
error_reporting(-1);
ob_start();
// Do something
// Call whateter ob_* function you need

我建议你经常阅读文档。那里有很多帮助。请务必阅读评论。