2014-09-01 115 views
8

是否可以清除mediawiki中的所有頁面?我試圖清空obejctcache表無濟於事。我並不是特別想用?action=purge追加每一頁。 1.23.3版本清除mediawiki中的所有頁面

+0

Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/),[Web應用程序堆棧交換](http://webapps.stackexchange.com/)或[網站管理員堆棧交換](http://webmasters.stackexchange.com /)會是一個更好的地方要問。 – jww 2015-11-20 13:28:28

+0

@jww這個簡單的事實問題是一年多,沒有關閉,並有投票和回答與投票將建議你a)這是一個合適的問題,這是一個對社區有用的問題或b)迫切需要關閉。此外,這個問題是關於一個涉及編程的mediawiki網站的開發。 – user3791372 2015-11-21 08:15:25

回答

2

您可以

  1. 使用修的腳本PurgeList.php像這樣:php purgeList.php --purge --all,爲MW> 1.21。較早的MW版本沒有--all選項,因此您需要一個頁面列表。

  2. 使用API​​:API:Purge,並與所有頁面的列表(可以從API:Allpages獲得)

  3. 的Invalidate通過setting $wgCacheEpoch to the current time在LocalSettings.php中,例如給它的所有緩存 $wgCacheEpoch = 20140901104232;

  4. 設置$wgInvalidateCacheOnLocalSettingsChange(自MW 1.17)實現幾乎相同的事情。 只有當您的wiki有低到中等流量時才這樣做。

  5. 不確定這是否是一個好主意,但如果您有權訪問wiki的數據庫,您應該也可以通過截斷表objectcache來實現相同的效果。

5

註銷所有緩存的所有網站使用這個簡單的命令:

touch /etc/mediawiki/LocalSettings.php 

,因爲在觸摸LocalSettings.php文件中,有這樣一部分:

# 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__LocalSettings.php文件本身,所以如果文件時間現在,所有比文件早的緩存將被清除。

+1

這是更好的答案。 – snowguy 2015-03-02 04:05:52

+1

請注意,自MW 1.17起,這不屬於'LocalSettings.php'的一部分。相反,有一個名爲'$ wgInvalidateCacheOnLocalSettingsChange'的設置可以達到幾乎相同的效果。此方法適用於較小的維基,但對於高流量維基,[不推薦](https://www.mediawiki.org/wiki/Manual:$wgInvalidateCacheOnLocalSettingsChange)。 – leo 2015-10-27 08:55:45