2014-09-01 29 views
8

È possibile eliminare tutte le pagine in mediawiki? Ho provato a svuotare la tabella obejctcache senza alcun risultato. Non voglio particolarmente colpire ogni pagina con ?action=purge aggiunto. La versione 1.23.3Eliminazione di tutte le pagine in mediawiki

+0

Stack Overflow è un sito per domande di programmazione e sviluppo. Questa domanda sembra essere fuori tema perché non riguarda la programmazione o lo sviluppo. Vedi [Quali argomenti posso chiedere qui] (http://stackoverflow.com/help/on-topic) nel Centro assistenza. Forse [Super User] (http://superuser.com/), [Web Apps Stack Exchange] (http://webapps.stackexchange.com/) o [Webmaster Stack Exchange] (http://webmasters.stackexchange.com /) sarebbe un posto migliore per chiedere. – jww

+0

@jww il semplice fatto che la domanda è più vecchia di un anno, non chiusa e ha upvotes e le risposte con voti suggerirebbero che a) è una domanda adatta che è utile alla comunità o b) ha un disperato bisogno di essere chiusa . E inoltre, questa domanda riguarda lo sviluppo di un sito mediawiki che implicava la programmazione. – user3791372

risposta

2

È possibile sia

  1. Utilizzare lo script manutenzione PurgeList.php come questo: php purgeList.php --purge --all, per MW> 1.21. Le versioni precedenti di MW non hanno l'opzione --all, quindi è necessario un elenco di pagine.

  2. Utilizzare l'API: API:Purge, e alimentarlo con una lista di tutte le pagine (che si può ottenere da API:Allpages)

  3. invalidare tutte le cache da setting $wgCacheEpoch to the current time in LocalSettings.php, per esempio $wgCacheEpoch = 20140901104232;.

  4. Impostare $wgInvalidateCacheOnLocalSettingsChange (da MW 1.17) per ottenere più o meno la stessa cosa. Fai questo solo se il tuo wiki ha un traffico da basso a moderato.

  5. Non è sicuro se questa sia una buona idea, ma se si ha accesso al database del wiki si dovrebbe anche essere in grado di ottenere lo stesso effetto troncando la tabella objectcache.

5

invalidare tutte le cache per tutti i siti con questo semplice comando:

touch /etc/mediawiki/LocalSettings.php 

perché nel file di contatto LocalSettings.php c'è questa parte:

# 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__ è il file LocalSettings.php stesso, quindi se il filetime è ora, tutta la cache più vecchia del file verrà eliminata.

+1

Questa è la risposta migliore. – snowguy

+1

Da notare che questo non fa parte di 'LocalSettings.php' da MW 1.17. Invece, c'è un'impostazione chiamata '$ wgInvalidateCacheOnLocalSettingsChange' che otterrà praticamente lo stesso. Questo metodo è ottimo per i wiki più piccoli, ma [non consigliato] (https://www.mediawiki.org/wiki/Manual:$wgInvalidateCacheOnLocalSettingsChange) per i wiki con traffico elevato. – leo