Příručka:$wgReadOnly

This page is a translated version of the page Manual:$wgReadOnly and the translation is 100% complete.
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)

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.

  Varování: Na rozdíl od svého názvu toto nastavení nečiní databázi pouze pro čtení! I když je nastaveno $wgReadOnly, mohou rozšíření, skripty API a další události uložené do mezipaměti zapisovat data.

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;