启用Extension:CheckUser和升级Mediawiki二三事

Mediawiki这玩意还真难伺候呐!升级比wordpress不知道麻烦了多少……辣鸡辣鸡!

之前CheckUser这个Extension启用不了,今天有时间就来解决一下,开了Debug模式,发现调用了一个未定义的function [\CheckUser\specials\SpecialCheckUser.php Line118,Line451,Line615,Line911..etc.]

//......
protected function showForm( $user, $reason, $checktype, $ip, $xff, $name, $period ) {
		$action = htmlspecialchars( $this->getPageTitle()->getLocalUrl() );
//.....

这里调用了$this->getPageTitle(),导致报错。

查了一些资料发现getPageTitle()这玩意是Mediawiki1.23之后才有的特性,而部署在生产环境的Mediawiki是1.22.6……所以自然报错了orz 也怪当时似乎是直接git clone没有仔细看版本要求……

于是那就升级呗!第一次通过shell升级Mediawiki,却选择了Git……也是作死吧√

升级前建议在Localsettings.php里开启readonly模式,防止数据库出点什么毛病。

先备份,因为tar.gz打包中文文件会出现乱码……解决方案什么的也懒得查,于是直接zip -r wiki.zip …/../wiki/* 打包然后下载咯……

开了一个新目录放新版本的wiki文件,用git拉最新的版本

git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git

_(:з」∠)_似乎会比官网的新一个版本,官网现在是1.23.2,git clone下来的是1.24alpha 管他呢 我又不怕bug www

直接覆盖原文件即可咯

/bin/cp -rf ./core/* wiki/

还是cp比mv好用……

然后就有两条路 一个是通过shell执行php update.php就可以,我选择了网页升级,因为数据量比较小,网页比较可爱0.0!

http://domain/mw-config/

访问这个地址然后填入一个升级秘钥一直下一步就好啦!

注意,从git上clone的Mediawiki没有带皮肤,而且1.24开始启用了新的皮肤调用方式,所以皮肤还得自己装。可以选择git clone也可以上传解压,最后在Localsettings.php里加一行

require_once("$IP/skins/vector/Vector.php");

就可以了 路径可能各人有不同

那么~这样就升级完毕咯 从Special:版本 可以确认升级情况

QQ截图20140812211751

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注