Příručka:$wgReadOnly
Nastavení skriptů údržby: $wgReadOnly | |
---|---|
Zakáže úpravy, zobrazí řetězec zadaný jako důvod. |
|
Zavedeno od verze: | před 1.1.0 |
Odstraněno od verze: | stále se používá |
Povolené hodnoty: | (řetězec), null/false |
Výchozí hodnota: | null (1.5.7+)false (1.1.0-1.5.6) |
Další nastavení: Podle abecedy | Podle funkce |
Podrobnosti
Funkčně je toto nastavení stejné jako $wgReadOnlyFile
, ale místo souboru používá řetězec.
Pokud je nastaven na řetězec v souboru LocalSettings.php, $wgReadOnly
neumožní úpravy a zobrazí řetězec uvedený jako důvod.
Uvedenému důvodu předchází obsah MediaWiki:Readonlywarning.
$wgReadOnly = 'Tato wiki je právě aktualizována na novější verzi softwaru. Vraťte se prosím za několik hodin.';
Výše uvedený příklad zamyká wiki a poskytuje výchozí příkaz na stránkách úprav a také poskytuje zahrnutý řetězec jako vysvětlení, proč byla wiki zamčena. Wikitext je v tomto řetězci povolen a bude vykreslen, když se zobrazí varování pouze pro čtení, které lze použít k poskytování odkazů nebo zvýraznění oznámení o aktualizaci.
Aktualizace
Od MediaWiki 1.27 nebude spuštění aktualizačního skriptu fungovat, pokud je nastaveno $wgReadOnly
.
Jednoduchým řešením je nastavit jej tak, aby četl pouze při nespouštění z příkazového řádku, což neovlivní skript aktualizace příkazového řádku:
$wgReadOnly = ( PHP_SAPI === 'cli' ) ? false : 'This wiki is currently being upgraded to a newer software version. Please check back in a couple of hours.';
Relace
Pokud relace nejsou uloženy v externím mezipaměti, jako je Redis nebo Memcached, uživatelé mohou být odhlášeni a během doby, kdy je wiki nastavena pouze na čtení, nebudou úspěšné žádné další pokusy o přihlášení a obdrží zprávu podobnou této:
Nastal problém s vaším přihlášením;
vámi požadovaná činnost byla zrušena jako prevence před neoprávněným přístupem.
Stiskněte tlačítko „zpět“, obnovte stránku, ze které jste přišli, a zkuste činnost znovu.
Ukládání DB do mezipaměti
Do mezipamětí, které využívají databázi, nelze zapisovat v režimu pouze pro čtení, což by mohlo bránit nejen úpravám (v závislosti na konfiguraci, přihlášení nebo dokonce prohlížení stránek). Tomu se lze vyhnout deaktivací mezipaměti, i když za cenu zpomalení vaší wiki. To lze provést pomocí následujících nastavení v LocalSettings.php:
$wgMessageCacheType = $wgMainCacheType = $wgParserCacheType = $wgSessionCacheType = CACHE_NONE;
$wgLocalisationCacheConf['storeClass'] = 'LCStoreNull';
Pokud chcete, aby vaše wiki byla rychlá, a přitom stále nepoužíváte DB, měli byste zvážit použití něčeho jako je Memcached.
Další podrobnosti najdete na stránce $wgMainCacheType
a $wgLocalisationCacheConf
.
Pokud chcete povolit přihlášení, když je databáze pouze pro čtení, musí být alespoň $wgSessionCacheType
nastaven na nějaký skutečný mechanismus ukládání do mezipaměti bez DB.
Miniatury
V režimu pouze pro čtení se obrázky, které je třeba transformovat nebo změnit, zobrazí jako chybové hlášení, nikoli jako obrázek. Chcete-li se tomuto problému vyhnout, vložte do souboru "LocalSettings.php" následující:
$wgIgnoreImageErrors = true;