【问题标题】:Session issue with two application on same server?同一服务器上的两个应用程序的会话问题?
【发布时间】:2017-12-18 17:16:01
【问题描述】:

我对应用程序会话数据有疑问。 我将它们托管在同一台服务器上,但是当我从其中一个服务器上注销时,第二个会话也未设置,应用程序会自动注销。 请提供信息我在这里做错了什么,并帮助我从这个问题中站起来。 用于取消设置我的应用程序会话的代码是。

session_unset();
session_destroy();

【问题讨论】:

  • 不要在同一台服务器上使用相同的会话名称...
  • @yash 我已经为会话使用了不同的名称,但仍然发生相同的情况。
  • 告诉我你是如何在两个应用程序中破坏会话的...
  • 上面的代码不是用名字来销毁它们的。

标签: php session session-state


【解决方案1】:

这个问题是因为会话是使用 cookie 存储的,而 cookie 是特定于域的。这就是为什么这些变量在两个网站上具有相同的效果,并且 session_id 对两者也相同,因为这种变量没有初始化只是分配。

因此,使用与您的应用相同的会话名称没有任何问题;您的 cookie 只能由您指定的域读取/使用。即使在以其他方式管理会话的异常情况下,它也将是特定于域的。

注意:您的会话变量名称必须有所不同,以便 不影响其他站点会话值。

【讨论】:

    【解决方案2】:

    仅供参考:-

    session_unset(); 仅从会话中删除变量 - 会话仍然存在。只有数据被截断。
    session_destroy(); 正在删除整个会话。

    您也可以尝试unset($_SESSION['VAR_NAME'])',然后刷新会话。
    按名称删除会话而不是删除会话会更好和更好的做法...

    【讨论】:

    • 抱歉,我已经知道这些功能的工作原理,但这些也会影响其他应用程序,这就是问题所在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2020-01-31
    • 2019-08-03
    • 1970-01-01
    相关资源
    最近更新 更多