Manual:$wgReadOnly

From mediawiki.org
This page is a translated version of the page Manual:$wgReadOnly and the translation is 24% complete.
Outdated translations are marked like this.
Maintenance scripts setting: $wgReadOnly
Impide cualquier edición, mostrando como motivo la cadena que se pasa como argumento.
Introducido en la versión:pre 1.1.0
Eliminado en la versión:aún se usa
Valores permitidos:(string), null/false
Valor predeterminado:null (1.5.7+)
false (1.1.0-1.5.6)

Detalles

Funcionalmente hablando, esta directiva es lo mismo que $wgReadOnlyFile , pero utiliza una variable en lugar de un archivo.

Si se le da una cadena en "LocalSettings.php", $wgReadOnly impide las ediciones, mostrando como motivo la cadena que se le pasa. El motivo va precedido del contenido de $readonlyWarning. The reason provided is preceded by the contents of MediaWiki:Readonlywarning.

$wgReadOnly = 'Este wiki está siendo actualizado en este momento a una nueva versión del software.';

El ejemplo de arriba bloquea la base de datos y emite un texto por defecto en las páginas de edición además de añadir la cadena incluida 'Este wiki está siendo actualizado en este momento a una nueva versión del software.' como explicación de por qué la base de datos está bloqueada. 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.

Advertencia Advertencia: En contra de lo que su nombre podría hacer pensar, ¡esta directiva no hace que la base de datos sea de sólo lectura! Aunque se haya activado $wgReadOnly, las extensiones, los scripts del API y otros eventos cacheables pueden escribir información igualmente.

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:

Parece que hay un problema con tu sesión; se ha cancelado esta acción como medida de precaución contra el robo de sesiones. Envía el formulario otra vez.

Cacheado de la base de datos

En algunos cachés que usan la base de datos todavía se puede escribir durante el modo de sólo lectura. Esto puede evitarse desactivando el caché, pero a costa de hacer que tu wiki funcione más lentamente. La desactivación del caché puede conseguirse añadiendo esto a LocalSettings.php:

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

Si quieres que tu wiki sea rápido pero evitando usar la base de datos, deberías considerar algo como Memcached. Mira $mainCacheType y $localisationCacheConf para más detalles. 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;