MediaWiki 1.22 - 会话存储

opH*_*AME 0 wiki mediawiki

我正在尝试使用 MySQL 作为 MediaWiki 的会话存储。

我已经添加:

$wgSessionHandler = 'session_mysql';
Run Code Online (Sandbox Code Playgroud)

到“LocalSettings.php”,但我在关联的 MySQL DB 中找不到任何会话表。

Seb*_*b35 5

如果设置$wgSessionHandler = \'session_mysql\';,则要求 PHP 使用 MySQL 后端而不是默认文件后端在内部管理会话。在这种情况下,你必须自己安装和配置这个MySQL后端(通过快速搜索我找到了https://github.com/repoforge/rpms/blob/master/specs/php-pecl-session_mysql/php-pecl-session_mysql。规范,但这个包看起来很旧)。特别是,您必须选择主机、用户、数据库和表来存储会话。

\n\n

相反,根据您的要求,我建议将 MediaWiki 会话缓存管理器与 MySQL 后端结合使用。这将执行与之前的解决方案相同的操作,但它已正确集成到 MediaWiki 中。要实现此行为,请在 LocalSettings.php 中写入:

\n\n
$wgSessionsInObjectCache = true; # MW internal session cache management\n                                 # takes precedence over PHP management\n$wgSessionCacheType = CACHE_DB; # See documentation for other backends\n$wgObjectCacheSessionExpiry = 3600; # Default lifetime of the sessions\n
Run Code Online (Sandbox Code Playgroud)\n\n

看起来它不能与 SQLite 一起使用,但它与 MySQL 一起工作得很好。在此缓存中,您可以检查表objectcache,其中有wikiID:session:sessionsID在其他可能的缓存对象中命名的键。

\n