2014-02-24 121 views
0

在谈论我的问题之前,我将很快描述我正在开发的项目。会话在请求之间丢失

一方面,我正在使用API​​(基于symfony 2.x)。该API(将被)被网站和智能手机应用使用,并将处理我需要在我的数据库上执行的所有请求。

另一方面,我正在开发一个网站(也是基于symfony 2.x)。在这个网站中,我使用curl来处理API上的请求。

我发送一个curl请求登录,另一个刚刚获取一些数据(我需要登录才能获取该数据)。我为我的所有请求保留相同的处理程序(所以与API的连接通常不会丢失)。

所以,问题是,我登录后,我发送的第二个请求我得到一个错误,说我需要登录来做到这一点。 经过研究,我发现每个请求的会话都不同(不同的会话ID),所以自然关于登录用户的所有信息都会丢失。

我在想,由于这两个请求之间的连接没有关闭,所以会话应该是一样的。

你们知道为什么会发生这种情况吗?

感谢你的帮助,

回答

0

问题解决了。

我发现API没有在响应头中设置PHPSESSID cookie。

无论如何,感谢您的帮助

0

TODO

  • 一定要有在session_start();
  • 检查$ _SESSION数组是否为
  • 不会被覆盖,您必须重定向到同一个域。检查
  • 它session_save_path和权限
+0

问题不在session_start(我敢肯定它)。 $ _SESSION将如何被覆盖? – Moucheg

+0

我不确定我是否清楚,问题出在API方面 – Moucheg