Mediawiki $会话[';mydata';]在MW中消失
我试图了解MW 1.31.1是如何工作的。我有以下的钩子:Mediawiki $会话[';mydata';]在MW中消失,mediawiki,Mediawiki,我试图了解MW 1.31.1是如何工作的。我有以下的钩子: $wgHooks['UserLoginComplete'][] = 'onUserLoginComplete'; function onUserLoginComplete(User &$user, &$inject_html, $direct){ $_SESSION['mydata'] = 'some data'; } 当用户成功通过身份验证时,它基本上会在$\u会话中存储一些数据。只要我经过身份验证,
$wgHooks['UserLoginComplete'][] = 'onUserLoginComplete';
function onUserLoginComplete(User &$user, &$inject_html, $direct){
$_SESSION['mydata'] = 'some data';
}
当用户成功通过身份验证时,它基本上会在$\u会话中存储一些数据。只要我经过身份验证,我如何使$_会话['mydata']保持在会话中
令我困惑的是,当我在signin选中“让我登录”并在几个小时后返回wiki站点时。我仍然通过系统进行身份验证,但$\u会话['mydata']消失。自1.27引入以来,MediaWiki自行进行会话处理。根据其值,它将完全忽略PHP会话或尝试将它们与MediaWiki会话同步。改用MediaWiki的会话处理方法:
SessionManager::getGlobalSession()->set( 'mydata', 'some data' );
至于从会话中消失的数据,这并不意味着它是一种持久性存储机制,长期行为完全取决于为其配置的存储机制-请检查并重试。Tgr,感谢您提供的信息。我试图让“与MediaWiki会话同步”,但没有成功。您介意发布设置以使其在Windows计算机上工作吗?再次感谢!默认设置应保持与$\u会话的向后兼容性。您的问题更可能是会话过期-正如我所说的“让我登录”不会使会话变长,它只是将登录状态与会话分离。你可能需要更长的时间;请参阅我答案末尾的链接。使用默认配置,您可能只需要增加$wgObjectCacheSessionExpiry。