手册:$wgReadOnly

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgReadOnly and the translation is 12% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎中文 • ‎日本語
Wiki锁定: $wgReadOnly
禁止编辑,显示给出的字符串作为原因。
引进版本:pre 1.1.0
移除版本:仍在使用
允许的值:(string), null/false
默认值:null
false (prior to 1.5.7)
其他设置: 按首字母排序 | 按功能排序

细节

在功能上,这个设置与$wgReadOnlyFile 相同,但使用的是变量而不是文件。

If set to a string in the "LocalSettings.php" file, $wgReadOnly disallows editing, displaying the string given as the reason. The reason provided is preceded by the contents of MediaWiki:Readonlywarning.

$wgReadOnly = 'This wiki is currently being upgraded to a newer software version. Please check back in a couple of hours.';

The above example locks the database and provides a default statement on edit pages and also gives the included string 'This wiki is currently being upgraded to a newer software version.' as an explanation for why the database was locked. Wikitext is allowed in this string and will be rendered when the read-only warning is shown which can be used to provide links or highlight upgrade notifications.

警告 警告: In contrast to its name, this settings does not make the database read only! Even if $wgReadOnly is set, extensions, API scripts and other cacheable events can write data nonetheless.

Upgrading

Since MediaWiki 1.27, running the upgrade script will not work if $wgReadOnly is set.

A simple solution is to set it to read only when not running from the command line, which will not affect the command line update script:

$wgReadOnly = ( PHP_SAPI === 'cli' ) ? false : 'This wiki is currently being upgraded to a newer software version. Please check back in a couple of hours.';

Sessions

If sessions are not stored on an external caching system such as Redis or Memcached, users may get logged-out, and no further login attempts would succeed during the time the wiki is set read only, receiving a message similar to 似乎您的登录会话有问题;为了防止会话劫持,这个操作已经被取消。请重新提交表单。.

DB caching

Caches that use the database cannot be written to during read only mode, which could prevent more than just editing (depending on the configuration, logging in or even viewing pages). This can be avoided by disabling cache, albeit at the cost of making your wiki slow. This can be accomplished with the following settings in LocalSettings.php:

$wgMessageCacheType = $wgMainCacheType = $wgParserCacheType = $wgSessionCacheType = CACHE_NONE;
$wgLocalisationCacheConf['storeClass'] = 'LCStoreNull';

If you want your wiki to be fast, while still not using the DB, you should consider using something like Memcached. See $wgMainCacheType and $wgLocalisationCacheConf for details. If you want to enable logins while the database is readonly, at least $wgSessionCacheType needs to be set to some real non-DB caching mechanism.

Thumbnails

When in read-only mode, images which need to be transformed or scaled will be shown as an error message instead of as an image. To avoid this problem, put the following in the "LocalSettings.php" file:

$wgIgnoreImageErrors = true;