首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php会话数据有时会丢失

php会话数据有时会丢失
EN

Stack Overflow用户
提问于 2014-08-11 22:07:48
回答 2查看 1.1K关注 0票数 7

我们有一个PHP会话问题。

有时我们的应用程序会丢失会话。无法确定架构。大多数情况下(99,9%)没有错误发生。

这是一个非常大的应用程序(超过7,000个PHP页面)。问题出现后,源代码未被更改。PHP可在IIS 7.5和Windows Server 2008上运行。

会话ID已从cookie正确传输。受影响的会话文件不再可用,或者为空或缺少数据。看起来数据被删除了,因为文件结构看起来是正确的。

会话锁定起作用。

会话存储在SAN上。我们已经在内部硬盘驱动器上临时保存了会话。同样的结果。

有没有人有办法解决这个问题?

亲切的问候

保罗

PS。对不起,我的英语不好!

EN

回答 2

Stack Overflow用户

发布于 2014-08-14 08:09:51

如果您有会话,请尝试会话处理程序。您可能不想对所有这些页面进行硬编码,但肯定会有一个或多个页面丢失。此外,这也归因于浏览器的限制。如果我在IE上启动一个会话,然后在Chrome中进行管理员登录,将会固有地杀死第一个会话,因为当恢复SAN时,其他会话将不再被识别。顺便说一句,你的会话超时时间没有被提及,而是你在谈论(超过7,000个PHP页面)。我建议您创建一个会话变量并传递它,而不是依赖cookie,除非您的页面编排、发布或更新很多,因此您为什么要使用cookie。不过,您必须首先确保所有变量集都是唯一的。

票数 -1
EN

Stack Overflow用户

发布于 2014-12-01 23:22:19

您应该检查您的每个页面是否设置了特定的会话。这是一种很好的编程技术。你在php代码中用过它吗?您可以搜索数据丢失的页面,然后在该页面中应用php代码。

代码语言:javascript
复制
    if(isset($_POST['your_session'])){
//body;
}
else{
 echo '<script type="text/javascript">'.
        'alert("Session not set !");'.
        '</script>';
}

通过此代码,您将获得代表您的会话的错误。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25245279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档