是否可以清除mediawiki中的所有页面?我试过清空obejctcache表无济于事。我并不特别希望在每个页面上添加?action=purge
。版本1.23.3
答案 0 :(得分:6)
你可以
使用维护脚本PurgeList.php,如下所示:php purgeList.php --purge --all
,用于MW> 1.21。较旧的MW版本没有--all
选项,因此您需要一个页面列表。
使用API:API:Purge,并将其提供给所有网页的列表(您可以从API:Allpages获取)
在LocalSettings.php中按setting $wgCacheEpoch
to the current time使所有缓存无效,例如
$wgCacheEpoch = 20140901104232;
。
设置$wgInvalidateCacheOnLocalSettingsChange
(自MW 1.17以来)实现几乎相同的事情。 只有在您的wiki具有低到中等流量时才会这样做。
不确定这是不是一个好主意,但是如果你有权访问wiki的数据库,你也应该能够通过截断表objectcache
来达到同样的效果。
答案 1 :(得分:6)
使用以下简单命令使所有站点的所有缓存无效:
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
文件,因此如果现在是文件时间,则将清除早于该文件的所有缓存。