2014-09-01 21 views
8

Ist es möglich, alle Seiten in MediaWiki zu löschen? Ich habe versucht, die Obejctcache-Tabelle ohne Erfolg zu leeren. Ich möchte nicht jede Seite mit ?action=purge angehängt werden. Version 1.23.3Löschen aller Seiten in MediaWiki

+0

Stack Overflow ist eine Website für Programmier- und Entwicklungsfragen. Diese Frage scheint off-topic zu sein, weil es nicht um Programmierung oder Entwicklung geht. Siehe [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic) in der Hilfe. Vielleicht [Super User] (http://superuser.com/), [Web Apps Stack Exchange] (http://webapps.stackexchange.com/) oder [Webmaster Stack Exchange] (http://webmasters.stackexchange.com /) wäre ein besserer Ort, um zu fragen. – jww

+0

@jww die einfache Tatsache, die Frage ist über ein Jahr alt, nicht geschlossen und Upvotes und Antworten mit Stimmen würde Ihnen vorschlagen, dass a) es ist eine geeignete Frage, die nützlich für die Gemeinschaft ist oder b) dringend geschlossen werden muss . Und nebenbei geht es in dieser Frage um die Entwicklung einer Mediawiki-Seite, bei der es um Programmierung ging. – user3791372

Antwort

2

Sie können entweder

  1. Verwenden Sie die Wartungs Skript PurgeList.php wie folgt aus: php purgeList.php --purge --all, für MW> 1,21. Ältere MW-Versionen verfügen nicht über die Option --all, daher benötigen Sie eine Liste von Seiten.

  2. Verwenden Sie die API: API:Purge, und ihn mit einer Liste aller Seiten (die Sie von API:Allpages bekommen)

  3. Invalidate alle Caches von setting $wgCacheEpoch to the current time in LocalSettings.php, z.B. $wgCacheEpoch = 20140901104232;.

  4. Set $wgInvalidateCacheOnLocalSettingsChange (seit MW 1,17), um so ziemlich das Gleiche zu erreichen. Tun Sie dies nur, wenn Ihr Wiki einen geringen bis mäßigen Traffic aufweist.

  5. Nicht sicher, ob dies eine gute Idee ist, aber wenn Sie Zugriff auf die Datenbank des Wikis haben, sollten Sie auch den gleichen Effekt erzielen, indem Sie die Tabelle objectcache abschneiden.

5

Invalidate alle Caches für alle Websites mit diesem einfachen Befehl:

touch /etc/mediawiki/LocalSettings.php 

weil in der Berührung LocalSettings.php Datei dieser Teil ist:

# When you make changes to this configuration file, this will make 
# sure that cached pages are cleared. 
$wgCacheEpoch = max($wgCacheEpoch, gmdate('YmdHis', @filemtime(__FILE__))); 

__FILE__ ist die LocalSettings.php Datei selbst, Wenn die Dateizeit jetzt abgelaufen ist, wird der gesamte Cache, der älter als die Datei ist, gelöscht.

+1

Dies ist die bessere Antwort. – snowguy

+1

Beachten Sie, dass dies seit MW 1.17 nicht Teil von 'LocalSettings.php' ist. Stattdessen gibt es eine Einstellung mit dem Namen '$ wgInvalidateCacheOnLocalSettingsChange', die ungefähr dasselbe erreicht. Diese Methode eignet sich hervorragend für kleinere Wikis, aber nicht für Wikis mit hohem Traffic (https://www.mediawiki.org/wiki/Manual:$wgInvalidateCacheOnLocalSettingsChange). – leo