Manual:$wgSessionCacheType
Memcached settings: $wgSessionCacheType | |
---|---|
The cache type for storing session data. |
|
Introduced in version: | 1.20.0 (Gerrit change 17929; git #6eb6313b) |
Removed in version: | Still in use |
Allowed values: | One of the CACHE constants (see $wgMainCacheType ) |
Default value: | CACHE_ANYTHING |
Other settings: Alphabetical | By function |
Details
editThe storage mechanism for session data. Note that despite the name saying "cache" this is the primary storage mechanism for sessions; if it doesn't work, it will be impossible to log in to the wiki.
For available types see $wgMainCacheType
.
For proper operation this must be set to a persistent cache, and if there are multiple servers that might serve a single client's requests the cache must be shared by all of them.
If $wgMainCacheType
is set to CACHE_ACCEL
and this is left at its default CACHE_ANYTHING
, the cache used may not meet these requirements.
The solution is to set this to an appropriate cache, such as CACHE_DB
.
Note that if CACHE_DB
is used then users cannot log in when the respective wiki's database was locked with e.g. $wgReadOnly
.
Session share hack
editBefore MediaWiki 1.27, some wiki farms used a single domain, shared user tables and a shared session cache directory as a poor man's single sign-on. Since 1.27 file-based session cache cannot be used; to achieve the same thing, use something like:
$wgSessionCacheType = 'session-cache';
$wgObjectCaches['session-cache'] = [
'factory' => 'ObjectCache::newAnything',
'keyspace' => 'shared-session'
];
which will make the session cache of all wikis use the same keyspace.
Note that this method is not officially supported and can lead to things breaking if you use an extension that tries to put different things in the session on different wikis; use at your own risk. Also, it only works in 1.30 or later.