我正在尝试将MySQL用作MediaWiki的会话存储。
我已添加:
$wgSessionHandler = 'session_mysql';
到" LocalSettings.php",但我无法在关联的MySQL数据库中找到任何会话表。
答案 0 :(得分:4)
如果设置$wgSessionHandler = 'session_mysql';
,则要求PHP使用MySQL后端而不是默认文件后端在内部管理会话。在这种情况下,你必须自己安装和配置这个MySQL后端(快速搜索我发现https://github.com/repoforge/rpms/blob/master/specs/php-pecl-session_mysql/php-pecl-session_mysql.spec,但这个包似乎很旧)。特别是,您必须选择主机,用户,数据库和表来存储会话。
相反,对于您的请求,我建议将MediaWiki会话缓存管理器与MySQL后端一起使用。这将与之前的解决方案完全相同,但这已在MediaWiki中正确集成。要实现此行为,请在LocalSettings.php中写入:
$wgSessionsInObjectCache = true; # MW internal session cache management
# takes precedence over PHP management
$wgSessionCacheType = CACHE_DB; # See documentation for other backends
$wgObjectCacheSessionExpiry = 3600; # Default lifetime of the sessions
似乎它不适用于SQLite,但它适用于MySQL。在此缓存中,您可以检查表objectcache
,其中包含名为wikiID:session:sessionsID
的键以及其他可能的缓存对象。
答案 1 :(得分:1)
对于影响数据库布局的配置更改,通常需要运行update.php
脚本:
php maintenance/update.php
如果由于某种原因,您无法访问命令行,那么应该能够通过导航到/w/mw-config
来实现相同的结果(假设您的wiki位于目录名为w
),并且在不改变任何设置的情况下运行Web安装程序。