我在php会话中感到困惑
我正在开发两个不同的应用程序在php web中使用相同的域但是它不允许我同时登录
这是样品
在应用程序1中,我像这样设置会话
$_SESION['app1']['username'] = 'kevin';
在申请2中,会话是
$_SESSION['app2']['username'] = 'k';
注销php
session_start();
session_destroy();
两个Web都可以登录,但它只允许我在同一时间登录其中一个。例如,我登录到应用程序1,即使我从应用程序1退出,也无法登录到应用程序2.我应该等待一段时间登录应用程序2然后我无法登录o应用程序1
任何解决方案?
答案 0 :(得分:0)
好session_destroy()
会破坏app1和app2的所有内容。因此,如果您想从app1注销,那么删除它会更好:
unset($_SESSION['app1']);
在同一个域上拥有多个会话的最佳方法是设置唯一的会话名称:
session_name('app1');
在您的其他应用中执行相同的操作,只需将其称为app2
。这将允许您在两个应用程序中维护一个唯一的会话,而无需具有顶级app1和app2变量。您也可以在此方法中使用session_destroy()
,因为会话是隔离的。