所以我有一个 PHP 函数来设置会话变量,如下所示:
function createSVar($varext) {
[...]
$_SESSION['v'.$varext) = time(); // hypothetical value set
[...]
return $output;
}
以及调用它的函数:
function someFunction1() {
[...]
$output = createSVar("name1");
[...]
return $output;
}
function someFunction2() {
[...]
$output = createSVar("name2");
[...]
return $output;
}
这些函数包含在函数文件中。然后我有一个配置文件设置如下:
<?
ob_start();
session_name("mysession");
session_start();
[...]
include("functions.php");
然后在我的 PHP 页面上使用如下:
<?
include("config.php");
[...]
echo someFunction2();
[...]
echo someFunction1();
我的问题是这个设置在两台使用 PHP 5.2.17 的不同机器上运行良好。在使用 PHP 5.3.0 的第三个中,它没有。createSVar()
出于某种原因,它会在每次调用函数时更改先前的会话值(对于先前设置的会话变量) 。我检查了更新日志,没有看到任何更新。
这可能是一个错误吗?