使用する php4 アプリsession_set_save_handler()
を php5 に移行する必要があります。
session_set_save_handler()
php4 ではすべて問題ありませんでしたが、php5 では、コールバック関数は呼び出される前にページに設定されていたグローバル変数にアクセスできなくなりました。
session_writer()
以下の例では、 (コールバック関数として渡される)グローバル変数 $g1 にアクセスできません。
この動作について何らかの説明がありますか、またはコールバックを使用してセッションを php4 から 5 に移行する際のヒントを教えてください。
これは擬似コードです:
function session_writer($id,$vars) {
global $g1;
echo "g1 not defined here: ".is_object($g1);
}
global $g1;
$g1 = SomeObject(); //which is the DB connection for the session writer
session_set_save_handler($o,$c,$r,"session_writer",$d,$g);
session_start();