Manual:$wgReadOnly/nl

From Linux Web Expert

Revision as of 01:22, 23 November 2022 by imported>HanV
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

<translate> Maintenance scripts setting</translate>: $wgReadOnly
Laat bewerken niet toe, met de opgegeven string als reden.

<translate> Introduced in version:</translate>pre 1.1.0
<translate> Removed in version:</translate><translate> still in use</translate>
<translate> Allowed values:</translate>(string), null/false
<translate> Default value:</translate>null (1.5.7+)
false (1.1.0-1.5.6)

Details

Deze instelling is functioneel hetzelfde als $wgReadOnlyFile , maar gebruikt een string in plaats van een bestand.

Indien deze variabele in het bestand LocalSettings.php een tekst bevat, $wgReadOnly staat het bewerken niet toe en toont deze tekst als reden. Deze tekst wordt voorafgegaan door de inhoud van MediaWiki:Readonlywarning.

$wgReadOnly = 'Deze wiki wordt momenteel bijgewerkt naar een nieuwe softwareversie. Probeer het over een paar uur nog eens.';

In het bovenstaande voorbeeld wordt er een 'lock' op de wiki gezet en een standaardtekst op de bewerkingspagina's getoond, het bevat standaard een tekst die aangeeft dat op dat moment de wiki wordt geüpgrade. Dit als een verklaring waarom het bijwerken tijdelijk niet mogelijk is. In de tekst mag wikitekst staan, het wordt opgebouwd als de waarschuwing dat er alleen gelezen kan worden, wordt getoond. Hierdoor is het mogelijk een link te plaatsen of een melding met kleur te markeren.

File:OOjs UI icon notice-destructive.svg <translate> Warning:</translate> Anders dan de naam lijkt aan te geven, wordt de database niet alleen-lezen! Zelfs wanneer $wgReadOnly is ingesteld kunnen extensies, API scripts en andere gebeurtenissen in het cache nog steeds data schrijven.

Upgraden

Vanaf MediaWiki 1.27, het uitvoeren van het upgrade script zal niet werken als $wgReadOnly een tekst bevat.

Een eenvoudige oplossing is het zetten op alleen-lezen als het niet via de commando-regel wordt uitgevoerd, dan heeft het geen gevolgen voor het commando-regel 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.';

Sessies

Als sessies niet op een extern caching systeem als Redis of Memcached worden opgeslagen, kunnen gebruikers uitgelogd worden en vervolgens niet meer inloggen omdat de wiki alleen-lezen is tijdens de upgrade. Die gebruiker krijgt dan een melding als:

There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Please resubmit the form.

DB caching

Caches die de database gebruiken kunnen niet schrijven tijdens de tijd van de upgrade, dat kan meer alleen het bewerken van pagina's blokkeren (dat hangt af van de configuratie, logging in of zelfs bekijken van pagina's). Dit kan worden voorkomen door de cache uit te schakelen, dan wordt de wiki wel langzamer. De cache uitschakelen kan worden gedaan met de volgende instellingen in LocalSettings.php:

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

Als u een snelle wiki wilt hebben en de database toch wilt blokkeren, overweeg dan om Memcached o.i.d. te gebruiken. Bekijk $wgMainCacheType en $wgLocalisationCacheConf voor details. Als u inloggen mogelijk wilt maken terwijl de database alleen-lezen is, dan moet minstens $wgSessionCacheType worden gezet op een caching mechanisme dat de database niet gebruikt.

Miniaturen

Als tijdens het alleen-lezen afbeeldingen getransformeerd of geschaald moeten worden dan wordt er een foutmelding getoond in plaats van de afbeelding. Dit probleem kan worden voorkomen door in het bestand "LocalSettings.php" toe te voegen:

$wgIgnoreImageErrors = true;