Manual:Upgrading/zh-hans

From MediaWiki.org
Jump to: navigation, search
Download icon
下载程序包
当前版本
历史版本
每日构建

更多信息请参考


概要[edit | edit source]

请先查看 MediaWiki 发行包内的 UPGRADE 文件

  1. 检查运行 MediaWiki 所需要的环境
  2. 查看发行公告
  3. 备份当前数据库和文件
  4. 解压新发布的压缩包
  5. 运行升级程序
  6. 升级扩展
  7. 测试升级是否成功

系统要求[edit | edit source]

MediaWiki 1.20 依懒于以下运行环境

PHP[edit | edit source]

  • MySQL 5.0.2 或更高版本
    MediaWiki 1.6.0 开始不再支持 MySQL 3.x

或者

  • PostgreSQL 8.1 或更高版本
    如果运行在 Postgres 8.1 或 8.2 上,还需要加载 tsearch2plpgsql 模块。
    参见 升级 Postgres

阅读发行公告[edit | edit source]

在压缩包或者 SVN 导出的文件中,有一些名字全是大写英文字母的文件,其中一个是 RELEASE-NOTES。如果要知道最新版本有什么变化的话,请查看这个文件。

备份现有文件和数据库[edit | edit source]

虽然升级程序经过良好的测试,也比较可靠,但是仍然是有可能出问题的。所以在运行升级程序之前,请务必做一次完整的备份。其中得包括相关数据库和相关文件:

  • 数据库里面和 wiki 相关的内容。建议在导出SQL的同时也导出为XML,以策万全。
    • MySQL:
      • 导出为SQL: mysqldump --all-databases > file.txt
      • 导出为XML: mysqldump --all-databases --xml > file.xml
    • PostgreSQL:
      • 导出为 pg_restore : pg_dump --create -Fc -i yourwiki > yourwiki.db.dump
  • 图片和其它文件 (在 images 目录内)
  • 配置文件 LocalSettings.phpAdminSettings.php
  • MediaWiki 的程序文件,包括所有的皮肤和扩展,特别是你修改和定制过的文件。

更详细的请查看 备份wikiLatin-1 转换到 UTF-8

解压文件[edit | edit source]

从压缩包安装[edit | edit source]

如果要从压缩包安装,先把包内的文件解压到现在运行 mediawiki 的服务器目录中。默认的情况下解压新版本的压缩包会创建新的目录,然后您就需要把新目录中的文件移动到当前的 wiki 目录中。当然,更好的办法是,直接解压到当前的 wiki 目录:

$ tar xvfz mediawiki-1.23.5.tar.gz -C /path/to/your/wiki/ --strip-components=1

加上了--strip-components=1会直接解压在/path/to/your/wiki/目录下,如果不加--strip-components=1,会在/path/to/your/wiki/下自动创建一个mediawiki-1.20.2的目录并解压在该目录下; 如果是旧老本的 Linux 发行版,例如 RHEL/CentOS 4.x 的话,则需要:

$ tar xvfz mediawiki-1.23.5.tar.gz -C /path/to/your/wiki/ --strip-path=1

对于老版本的 tar (例如 GNU tar 1.13.x), 由于没有 --strip-components 或 --strip-path 选项,因此需要先用不带 -C 参数的命令来解然,之后再把解压后的文件覆盖到旧的 wiki 目录中。具体操作如下:

$ tar xvfz mediawiki-1.23.5.tar.gz
$ cp -r mediawiki-1.23.5/* /path/to/your/wiki/


(Open)Solaris 用户需要用 gtar ,或者:

$ gzip -dc mediawiki-1.23.5.tar.gz | tar xf -


Windows 用户可以用 7zip 来解压

从 Subversion 安装[edit | edit source]

如果要用 Subversion 来安装,就先得从版本库中导出文件到一个新的目录,然后把这个目录中的文件移动到当前的 wiki 目录中。

运行升级程序[edit | edit source]

注意:请先确保有一个叫AdminSettings.php的文件在 wiki 的安装目录下,并且在这个文件内的设置信息是正确的。执行升级的用户必须有完整的数据库操作权限,并能通过 shell 来访问。

首选的升级方式是通过命令行来执行升级程序,另一个候选方式是通过页面来执行安装程序。

Shell[edit | edit source]

进入到命令行,先切换到 maintenance 目录,然后执行升级程序。

$ php update.php --aconf ../AdminSettings.php


(对于Windows平台下的某些一键安装包(如XAMPP),如果 php.exe 关联到 .php 文件的话,您可以双击执行 update.php 。如果没有关联 .php 文件,您可以右击 update.php ,选“打开发方”,然后在程序中找到 php.exe 。注意要先确保服务器端软件(例如Apache)和数据库(例如MySQL)是正确运行的。

最后升级程序就会检查当前的数据库结构,并将其升级到最新版本。

当遇到“没有超级用户权限”的错误时怎么办[edit | edit source]

假如升级程序提示以下错误:

"No superuser credentials could be found. Please provide the details of a user with appropriate permissions to update the database. See AdminSettings.sample for more details"

这种情况下,您就需要检查 LocalSettings.php 文件中的 $wgDBadminuser 和 $wgDBadminpassword 是否设置正确了。升级程序需要依赖这里的用户名和密码设置来访问数据库。

候选升级方式之一: phpShell[edit | edit source]

如果您没有 shell 的操作权限的话,请参考 phpShell,这是一个用 PHP 函数来模拟 shell 操作的项目。但由于主机的限制,有可能有些功能用不了。

当使用这种方式来升级时,最好在运行脚本是加上参数 --quick 跳过开始的倒数,例如:

$ php update.php --quick

有些主机上安装了多版本的 PHP,可能需要运行 "php5" 命令而不是普通的 "php"。而且在使用 phpshell 时,可能要先修改 commandLine.inc 和 LocalSettings.php 来避免服务器上运行的 phpshell 退出,或者用以下方法来绕过这个限制:

$ unset REQUEST_METHOD; php update.php --quick

这样就可以注销系统变量 REQUEST_METHOD,因为该变量会使 phpshell 拒绝执行。

候选升级方式之二: 重新运行安装程序[edit | edit source]

还有另一种升级方法,就是重新执行一次安装脚本,步骤如下:

  1. LocalSettings.php 改名为 LocalSettings.old.php
  2. config 目录的读写权限开放给 Web 服务器
  3. 确保所使用的数据库用户有全部的权限
  4. 用浏览器打开安装界面
    按照之前安装时所填写的值,重新填一次安装表单
    当安装开始时,脚本会检查当前的 MediaWiki 数据表,更升级数据表的结构
    完成后,安装脚本会生成一个新的 LocalSettings.php
  5. 删掉新的 LocalSettings.php
  6. 把原有的 LocalSettings.old.php 重命名为 LocalSettings.php
  7. 恢复 config 目录应有的权限

升级插件[edit | edit source]

有一些插件可能也需要升级,才能运行在新版本的 MediaWiki 中。请确保升级相关插件到最新的版本,对于一些定制的插件,还可能需要手工进行升级。

检查升级是否成功[edit | edit source]

一但升级完成后,请查看各个 wiki 页面是否正常,并尝试以下操作是否成功:

  • 查看页面
  • 修改页面
  • 上传文件

最后查看一下 Special:Version 页面以确认版本号显示正确,以及相关的插件加载成功。

语言: English  • català • Deutsch • français • magyar • Bahasa Indonesia • italiano • 日本語 • 한국어 • polski • português do Brasil • русский • 中文 • 中文(简体)‎