0

我是一个新的 PHP 和 jQuery 移动用户,我正在使用它们来构建智能手机网络应用程序。目前,我正在使用电脑上的 chrome 和我的 sumsang S7526 上的网络浏览器测试 APP。

我了解到,如果我学得正确,如果关闭浏览器,PHP 会话可能会被自动销毁。

session_start()在我的 homepage.php 和 login.php 中使用过。我希望在用户登录然后关闭浏览器后,会话结束。这确实适用于我的 chrome。但它不在我的sumsang上。

当我登录然后关闭我的三星浏览器,然后我重新打开浏览器时,我仍然登录。会话 ID 是之前的 ID。

即使我试图关闭我的 sumsang 并再次打开它,会话 ID 仍然是相同的。这是为什么?

我又试了一次。看来我的三星浏览器默认保存会话cookie。包括phpsessid。我尝试使用 $(window).close() 获取浏览器关闭事件。但没有运气。它是另一个事件。

谢谢你们!

4

2 回答 2

0

“会话”未存储在您的手机上 - 无论其名称如何。它存储在网络服务器上。

浏览器仅向服务器发送会话的 id - 使用不同的方法。服务器识别此 ID 以跟踪此 uniq 浏览器“会话”并从存储的会话文件或其他会话存储方法中获取数据。

当您关闭浏览器时 - 服务器对此一无所知。服务器上有一些进程——常见的名为 GC(垃圾收集器)的进程会清理旧的过期会话文件。

请阅读会话参考

于 2013-08-28T08:34:18.477 回答
0

默认情况下,PHP 将会话 ID 存储在客户端的 cookie 中。尝试删除所有 cookie(包括会话 cookie)。

有关更多信息,请查看会话配置选项

于 2013-08-28T08:52:05.030 回答