我有一个基于php的软件,它使用带有php会话的登录系统。我需要以这种方式在同一域的子目录中复制这个php软件:
问题是,如果我登录php软件1然后尝试访问php软件2,系统会在没有htere时识别有效的会话。
是否可以隔离这两个目录,以便对软件1有效的会话对软件2无效,反之亦然?
答案 0 :(得分:3)
使用session_name($somename)
设置两个不同的会话名称。这需要在两个地方session_start()
或session_register()
之前调用,并设置客户端cookie中使用的会话名称(否则默认为PHPSESSID
。)
答案 1 :(得分:0)
您无法在一台服务器上为同一客户端设置两个不同的会话。 PHP会话存储在每个客户端的服务器上(浏览器或发出请求的任何应用程序)(参见:where does session save?)。
要达到您的要求,您可以采用Hanky웃Panky的方法(在您的问题的评论中提到),或者在达到/root/phpsoftware/phpsoftware2
的入口点后,unset()
您的会话密钥,所以可以创建一个新的(注意这也会导致/root/phpsoftware1
的会话被杀掉,所以我宁愿采取Hanky웃Panky的方法)
希望它有所帮助。 Lemme知道你是否需要更多细化。