2014-09-01 65 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

相关问题