【发布时间】:2014-03-04 19:36:12
【问题描述】:
我知道我可以使用$oldSession = session_name("mySessName"); 来设置会话的名称,我喜欢这样做:
# FileName: sessionTest.php
$old_name = session_name("TEST");
session_start();
$_SESSION["hi"]="hi";
print_r($_SESSION);
我什至可以拥有另一个文件:sessionTest1.php,其中包含以下内容:
# FileName: sessionTest.php
$old_name = session_name("TEST1");
session_start();
$_SESSION["Bar"]="bar";
print_r($_SESSION);
我可以在 sessionTest.php 和 sessionTest1.php 之间来回切换,而 session 只会有对应的变量。
我遇到的问题是假设一个不同的脚本已经启动了一个会话,然后调用这个文件。我所看到的是假设我有:
session_name("other");
session_start();
$_SESSION["foo"] = "foo";
require_once "sessionTest.php";
print_r($_SESSION);
这是打印Array( "foo" => "foo", "hi" => "hi" )。有没有办法结束上一个会话并重新开始我的会话。注意:我不想破坏之前的会话,因为其中可能包含有价值的信息。
【问题讨论】:
-
我认为
session_name()是您正在寻找的功能。 -
我在上面使用 session_name。