したがって、次のようにセッション変数を設定する 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 を搭載した 2 つの異なるマシンで正常に動作することです。PHP 5.3.0 の 3 番目のものでは、そうではありません。何らかの理由で、関数の呼び出しごとに以前のセッション値 (以前に設定されたセッション変数) を変更しcreateSVar()
ます。変更ログを確認しましたが、更新は見られませんでした。
これはバグでしょうか?