突然几天前,我注意到,在我的网站上,当我完成一个地方的forms(POST),然后我做一个redirect来查看那个地方,用户会话会丢失。 如果我刷新页面,我再次连接。 它也发生在另一种forms+redirect。
这只发生在生产服务器上。 在分期(与生产相同的configuration)和本地工作正常。
我在生产中的堆栈是Apache,memcache(会话),PHP,Symfony1.4,MySQL。
任何想法,我应该在哪里看? Apache,什么? 内存caching?
谢谢!
编辑
我发现了这个错误,而且与此无关。 下面的代码被打破了。 我刚刚评论过。 仍然不知道为什么,但至less该错误是出来的。 我将不得不问symfony的人。
// clear cache $cacheDriver = $this->getTable()->getAttribute(Doctrine::ATTR_RESULT_CACHE); $cacheDriver->deleteByPrefix('tour.'.$this->id);
我猜两件事之一:
session_start()
缺失 header('Location', ...)
时请求variables丢失了 我会在Net
面板中使用Firebug和Persist
选项来检查是否所有请求都携带了PHPSESSID
cookie或请求variables。 假设它,我会检查是否在Location
头的目标页面上缺lesssession_start()
。