Manual:$wgSessionCacheType

From MediaWiki.org
Jump to navigation Jump to search
Other languages:
English • ‎dansk • ‎español • ‎français • ‎magyar • ‎polski • ‎日本語
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

Details[edit]

The 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.

From MediaWiki 1.20 to 1.26, it was used only if $wgSessionsInObjectCache was true, otherwise MediaWiki fell back to standard PHP session handling.

Since MediaWiki 1.27, sessions are always stored in the object cache.

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[edit]

Before 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.

See also[edit]