我必须将一个使用 php4 的应用程序迁移session_set_save_handler()
到 php5。
在 php4 中一切都很好,但在 php5 中,回调函数无法再访问全局变量,这些变量是在session_set_save_handler()
调用之前在页面上设置的。
在下面的示例中,无法访问全局变量 $g1 session_writer()
(作为回调函数传递)
对此行为是否有一些解释,或者您能否提供有关将带有回调的会话从 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();