Handleiding:$wgReadOnly
Onderhoudsscripts instelling: $wgReadOnly | |
---|---|
Laat bewerken niet toe, met de opgegeven string als reden. |
|
Geïntroduceerd in versie: | vóór 1.1.0 |
Verwijderd in versie: | nog steeds in gebruik |
Toegelaten waardes: | (string), null/false |
Standaardwaarde: | null (1.5.7+)false (1.1.0-1.5.6) |
Andere instellingen: Alfabetisch | Per functie |
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.
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:
Er lijkt een probleem te zijn met uw aanmeldsessie.
Uw handeling is gestopt uit voorzorg tegen een beveiligingsrisico (dat bestaat uit mogelijke "hijacking" van deze sessie).
Probeer het formulier opnieuw te versturen.
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;