MediaWiki升级中出现的问题

来自Jamesqi
跳转至: 导航搜索

--James Qi 2009年6月15日 (一) 00:00 (CST)

  11日测试了一个小站点后,12日接着升级几个站点,却遇到不少问题:

  1. 大数据量网站升级后,数据库服务器负载明显过高(一个网站数据库中以前34个表增加到41个表),不过好像是短期的,没有持续
    解决办法:硬件配置升级优化
  2. 默认把一些英文的Namespace都改为了中文,例如[[Talk:]]改为[[讨论:]]、[[User:]]改为[[用户:]]、[[User talk:]]改为[[用户讨论:]]、[[File:]]改为[[文件:]]、[[File talk:]]改为[[文件讨论:]]、[[Template:]]改为[[模板:]]、[[Template talk:]]改为[[模板讨论:]]、[[Help:]]改为[[帮助:]]、[[Help talk:]]改为[[帮助讨论:]]、[[Category:]]改为[[分类:]]、[[Category talk:]]改为[[分类讨论:]]、[[Special:]]改为[[特殊:]]、[[MediaWiki talk:]]改为[[MediaWiki讨论:]]、James Qi talk:改为James Qi讨论:
    解决办法:按照新的规则修改需要变动的部分,例如:“Special:Userlogin”改为“特殊:用户登录”,robots.txt中的一些英文屏蔽也要增加对应的中文屏蔽
  3. 动态页面列表生成有些与以前不同,namespace要从以前的英文namespace改用新的中文namespace
    解决办法:按照新的规则修改需要变动的部分,例如:“namespace=Talk”改为“namespace=讨论”
  4. 一些特殊页面的链接从英文改为了中文,导致以前的内部链接找不到,例如Special:UserloginSpecial:Userlogin&type=signup
    解决办法:例如:“Special:Userlogin”改为“特殊:用户登录”,但带&符号的无法解决
  5. 一些使用网站内部url链接的地方不能省略index.php&title= ,也就是index.php参数命令有些不同
    解决办法:修改以前的地方,例如调用AutoEdit的URL对<html></html>的使用有时与以前不同,特别是含有变量、Magic Words的时候,例如将{{fullurl:xx}}改为http://{{SERVERNAME}}/{{urlencode:xx}}以避免新版本中显示为链接
    解决办法:修改以前的相关模板,例如“刷新”、“Iframe”等,调用其它Wiki网站中包含HTML的模板改为调用本地网站中模板
  6. 部分采用MyISAM数据库Latin1格式的老网站对应的繁体网站字符出错
    解决办法:可以干脆把以前的MyISAM-Latin1导出,重新导入新建的InnoDB-Utf8数据库
  7. 调用模板较多的页面源代码中出现“NewPP limit report”
    解决办法:减少调用的模板数量和层次
  8. 新系统网站调用老系统网站中的包含动态页面列表模板时报错
    解决办法:
  9. noarticletext页面出现顶部和底部多余的数字,不知道是什么意思
    解决办法:可能是部分服务器设置中的Apache或者PHP有问题,在另外的服务器上是正常的,修改php.ini中的缓存4096->Off后解决
  10. 部分网站或者部分页面不生成file cache页面,修改cache目录为可写属性后依然如此
    解决办法:有可能是目录读写权限或者拥有者权限的问题,尝试用chmod和chown来修改权限,另外新版本中包含DPL扩展的页面都不生成文件缓存,但可以通过设置让包含动态页面列表的页面也产生缓存
  11. 繁体克隆网站无法使用文件缓存
    解决办法:有可能是目录读写权限或者拥有者权限的问题,尝试用chmod和chown来修改权限,另外需要修改includes/HTMLFileCache.php,将第88行中的“ && $ulang == $clang”去掉,以避免判断用户的语言设置是否和网站的语言设置一致,老版本1.10中是修改includes/Article.php中相似的地方
  12. 使用“特殊:上传文件”上传时报错“Zero Sized Reply 响应内容长度为零”,跳过Squid也是一样报错,出现完全空白的页面
    解决办法:可能是部分服务器设置中的Apache或者PHP有问题,在另外的服务器上是正常的,尚未找到具体原因,有可能是php/apache哪里的设置问题
  13. 网站首页title显示{{SITENAME}}
    解决办法:修改MediaWiki:Pagetitle-view-mainpage(MediaWiki 1.14以后有效),但MediaWiki:Pagetitle-view-mainpage/zh-tw对繁体网站首页无效,也可以在首页中增加{{DISPLAYTITLE:{{FULLPAGENAME}}}}或者{{DISPLAYTITLE:首页}}来解决
  14. 时区的显示与以前不同
    解决办法:修改了设置办法后好像可以解决
  15. MediaWiki这个namespace中修改过的内容却不被系统认识,以为没有修改过(在简体版本中有此问题,在繁体克隆版本中没有此问题)
    解决办法:重新编辑保存,这是一个临时的办法,但还没有找到真正的原因和解决办法
    补充:找到了问题,MediaWiki-1.10.0中MessagesZh_cn.php是自带内容的,但后来的版本中MessagesZh_cn.php是指向了MessagesZh_hans.php,我现在将LocalSettings.php中的$wgLanguageCode = "zh-cn";改为$wgLanguageCode = "Zh-cn";后匿名用户浏览就可以了,但登录用户却因为语言选择是zh-cn还是不行,就把MediaWiki:Noexactmatch/zh-cn这样带/zh-cn的页面也修改为与MediaWiki:Noexactmatch一致就好了
    再补充:上面的办法不好,实际上是因为Message Cache引起的,设置“$wgMessageCacheType="CACHE_NONE";”可以解决,或者只需要清空MySQL对应数据库中的objectcache表,让缓存重新生成就可以。如果遇到左侧菜单显示有问题,可以关闭Sidebar的Cache试一试看。如果还有少量情况下与MediaWiki 1.10不同,可以检查MediaWiki 1.15中的一些Message新用法,例如增加了MediaWiki:noexactmatch以外增加了MediaWiki:noexactmatch-nocreate
  16. “最近更改”中只保留了50条左右,不知道是时间周期默认太短还是怎么
    解决办法:准备修改1.13后新设置的“$wgRCMaxAge”等,但官方网站上说默认就是13周,应该足够了,实际上查看DefaultSettings.php中只有7天,于是修改为10年,这应该可以解决了

  看来还不能贸然升级,13日、14日把相对不太重要、数据量小、流量小的网站作为实验先升级了,下周先进行各方面的测试,确保没有问题后才能升级数据量大、流量大的重点网站。

标签:MediaWiki升级
相关内容:
  1. 2010-11-10 22:20:28 MediaWiki-1.15升级到1.16.0步骤
  2. 2010-11-04 22:52:58 开启MediaWiki的搜索建议(Search Suggest)功能
  3. 2010-11-03 11:26:02 MediaWiki-1.15.0升级到1.16.0中出现的问题
  4. 2010-11-02 23:52:05 MediaWiki-1.15准备升级到1.16
  5. 2010-10-22 22:29:00 想写一本关于MediaWiki的书,有人需要吗?
  6. 2010-09-20 11:33:29 直接操作MediaWiki的MySQL数据库
  7. 2010-09-04 00:20:09 修改模板对付MediaWiki及扩展程序的Bug
  8. 2010-08-31 00:47:49 分割大容量MediaWiki数据库
  9. 2010-07-08 23:08:13 用HTML和站间链接减小MediaWiki数据库记录
  10. 2010-06-12 12:27:01 将数据导入MediaWiki进行到底
  11. 2010-05-20 22:01:46 导入大量名录数据到MediaWiki网站的例子
  12. 2010-05-05 15:06:09 不懂PHP编程也可以修改MediaWiki程序
  13. 2010-04-03 22:45:40 MediaWiki导入XML数据中需要转义的字符
  14. 2010-04-02 00:38:01 用MediaWiki搭建多语言网站群框架
  15. 2010-04-01 16:05:48 在美国VPS上升级MediaWiki

关于“MediaWiki升级中出现的问题”的留言:

目前暂无留言

新增相关留言