手册:$wgSessionCacheType
高速缓存设置: $wgSessionCacheType | |
---|---|
用于存储会话数据的缓存类型。 |
|
引进版本: | 1.20.0 (Gerrit change 17929; git #6eb6313b) |
移除版本: | 仍在使用 |
允许的值: | 缓存常量之一(参见$wgMainCacheType ) |
默认值: | CACHE_ANYTHING |
其他设置: 按首字母排序 | 按功能排序 |
详情
会话数据的存储机制。 请注意,尽管名称中包含“缓存”一词,但这是会话的主要存储机制;如果它不起作用,将无法登录到wiki。
要了解可用的类型,请参阅$wgMainCacheType
为了正确地运作,此项必须设置为持久缓存,并且如果存在多个服务器为单个客户端的请求提供服务的情况,则此缓存必须在这些服务器之间共享。
如果$wgMainCacheType
设置为
CACHE_ACCEL
,而这个设置保持默认的CACHE_ANYTHING
,那么使用的缓存方式可能不符合这些要求。
解决方案是将其设置为合适的缓存方式,例如CACHE_DB
。
请注意,如果使用了CACHE_DB
,那么当相应维基的数据库被锁定时,例如使用了$wgReadOnly
,用户将无法登录。
会话共享入侵
在MediaWiki 1.27之前,一些维基农场使用单个域域名、共享用户表和共享会话缓存目录作为一种简易的单一登录解决方案。自1.27版本以后,无法使用基于文件的会话缓存;为了实现相同的功能,可以采用类似以下的方法:
$wgSessionCacheType = 'session-cache';
$wgObjectCaches['session-cache'] = [
'factory' => 'ObjectCache::newAnything',
'keyspace' => 'shared-session'
];
这将使所有维基的会话缓存使用相同的keyspace。
请注意,这种方法并不受正式支持,如果您使用的扩展尝试在不同的维基上将不同的内容放入会话中,可能会导致一些问题出现;请自行承担风险。另外,此方法仅适用于1.30版本或更高版本。