手动:升级

来自MyaWiki.Org
跳转到导航 跳到搜索

下载图标
下载一揽子计划
稳定版本 (1.33.0)
遗留版本 (1.32.3)
阿尔法版本

阅读更多

基本概述

文件传输

选择一种传输文件的方法:

初步

阅读MyaWiKi中包含的升级文本文件.

  1. 检查需求
  2. 阅读发行说明
  3. 备份现有文件和数据库
  4. 打开新文件
  5. 升级扩展
  6. 运行更新脚本检查数据库
  7. 测试更新

检查要求

MIDEAWIKI 1.33要求:

  • PHP7.0.13+
  • 下列之一:
    • MySQL 5.5.8+(或等)玛丽亚德
    • PostgreSQL 9.2+
    • SQLite 3.3.7+
    • Oracle 90.1+

如果您使用PostgreSQL,请阅读手册:升级邮政 .

欲了解更多信息,请阅读手册:安装要求 兼容性 .

阅读发行说明

在分发球中,或在签出/导出的文件内吉特有许多文件有大写的文件名,其中一个文件包含发行说明维基现在是打开它的时候,找出这个版本中发生了什么变化。

清除未决的工作

出于性能原因,数据库中的某些操作被延迟,并由作业队列. 这些作业被存储在数据库中,并且包含有关于它应该执行的动作的信息。强烈建议在升级Wiki之前运行这些未决作业,以避免在新版本上改变这些作业的参数规格的情况下失败。RunJOP.PHP 在执行升级之前运行所有挂起的作业并清除队列。

备份现有文件和数据库

充分说明:手动备份wiki

虽然升级脚本维护良好且健壮,但仍有可能出错。在继续更新数据库模式之前,装满备份wiki,包括数据库和文件:

  • Wiki的内容,从数据库,(确保您正确地获得字符集,首先检查LoalSaltest.php)。除了SQL数据库转储之外,创建XML转储可能是一个好主意。
  • MySQL,SQL转储和XML转储都用于MySQL命令:
MySQL转储——用户=Wikbbx用户--密码=WiKiBuxUSER口令 维基布>文件SQLMySQL转储——用户=Wikbbx用户--密码=WiKiBuxUSER口令 维基布XML文件XML
  • PostgreSQL,数据库转储供使用PGO恢复命令:
PGY-DUPP-CREATE-FC维基布>文件转储
  • SQLite,使用MyaWiKi脚本进行备份:
PHP维克菲尔德/维护/SqLy.PHP--备份到文件
  • 图片和其他媒体文件(内容)图像目录,自定义徽标/皮肤/公共/图像/维基
  • 配置文件,例如本地设置HTAccess(如果有的话)
  • MealWiKi的程序文件,包括所有的皮肤和扩展,特别是如果你修改了它们。

打开新文件

使用塔尔包

可以使用FTP或命令行将新文件放在适当的位置。使用命令行,如果您有权限访问它!使用命令行将比不得不通过FTP上传数千个文件中的每一个要快得多。

你应该把解压缩的塔尔球放在你的服务器上的一个新的空文件夹中。如果您直接在旧版本的顶部提取新版本,而不是在新目录中,则应遵循备份现有文件和数据库否则,如果您进行了任何自定义,您可能会以某种方式擦除它们,这样就不会再引用它们了。在MyaWiKi的实时副本上方提取一个塔球也可以从旧版本的MyaWiKi留下文件,这可能会干扰升级后的代码。建议将新文件解压到一个新目录中,然后将自定义应用到新目录(恢复LoalStalpIs.PHP、图像文件夹、扩展和其他自定义,如自定义皮肤)。

FTP或图形

如果无法访问服务器上的命令行,请将MealaWiKi TabLepe下载到本地计算机并使用7Zip在本地PC上提取TabBar。

在本地提取文件后,使用您最喜爱的FTP客户端软件将目录和文件上传到服务器。

命令行

您可能需要运行该命令苏多如果您对当前用户下的Wiki安装目录没有完全写入权限。当卸载TabPar包时,通常会创建一个新wiki版本的新目录,您将不得不从旧的安装目录中复制旧的配置文件和图像目录:

$CD/PATT/OT/You/NeX/安装/ $WGETHTTPSE//Relas.Wikimdia.Org/MediaWiki/1.33 /MydiaWiki-1.33.0.TAR.Gz$TAR-XVZF IdiaWiki-1.33.0.TAR.GZ$RM MIDEAWIKI-1 1.33.0.TAR.GZ

(打开)Solaris用户应该使用古塔,或:

$GZIP-DC MialaWiki-1.33.0.TAR.GZ-TAR XF-XF-

其他文件

在提取TARBARE之后,您应该将旧的安装目录中的一些文件和文件夹复制或移动到新的安装目录中:

  • 本地设置,它包含旧的配置设置。
  • 这个图像(或)上传在旧版本的“目录”中,它包含所有上传到Wiki的文件,除非您选择了不同的上传目录,并更改所有权和权限。查找/图片-类型D - Exc CHMOD 755 {};阿帕切图像(例如,如果您的Web用户是Apache
  • 中的一些扩展扩展目录您应该总是获得更新的扩展,旧的扩展不能保证与新版本的MeaWiKi一起工作。
  • 如果你使用定制标志这个文件也需要从备份中恢复。通常在1.24之前皮肤/普通/图像/. 1.24后资源/资产/图像如果这是你选择使用的。然后添加到本地设置。$WGLOGO =“$WGScript路径/图像/ LOGO。PNG”;
  • 从内部定制皮肤目录
  • 对旧安装文件或扩展的任何修改。
  • 任何.HTAccess文件(如果你使用Apache并在其中定义了任何规则)。

一旦完成,将这个新文件夹放在Web服务器上的已发布文件夹中,或者重命名旧的安装目录,然后重命名新的安装目录以匹配旧名称。

使用Git

如果使用吉特 将文件导出到一个干净的位置,然后将旧的自定义文件复制到新的位置,如前一节中所描述的。

如果您升级到MeaWiki 1.25或更高版本,您还需要使用作曲家或维基媒体维基农场维护的提供的集合来安装一些外部PHP库。有关安装和更新外部库的更多细节可以在Git下载文档.

使用贴片

小补丁文件通常用于小版本升级。手动下载和提取补丁文件垃圾场或者遵循下面的WGET的方向。补丁是增量的,你可以跳过一个版本。

  1. CD到您的主MeaWiKi目录(带有LoopSturaby.php的目录)。
  2. 下载补丁文件解压缩IT
  3. 使用补丁- P1 -干运行检查将要更改的内容(例如补丁P1 -干运行-IMIDAWIKIX.X.X.X.修补程序
  4. 如果一切顺利,运行补丁又没有--干跑.
  5. 检查你的特殊版本:你应该看到新的版本号。

可能导致错误的文件

如果在旧安装目录上解包,一些旧文件可能会导致新版本出现问题。

MIDAWIKI版本: ±一点一八

如果你不使用仿形但是有一个PrimePrimule.PHP文件在MyaWiKi根文件夹中,可能会收到引用错误/Prime/Primule.PHP. 删除或重命名PrimePrimule.PHP文件将解决此错误。这个StaskPrimule.样本文件,也在MyaWiKi根文件夹中,可以作为模板,如果您在将来启用配置文件。

MIDAWIKI版本: ±一点二三

MiTaWiKi 1.23不喜欢核心皮肤文件的皮肤自动发现机制。升级到这个版本之后,您应该确保旧文件小鸡怀旧简单PHP标准PHP直接在目录以及内部的子文件夹目录被删除。MyIaWiKi将记录警告,如果其中任何一个仍然可以帮助您记住。(您还需要调整任何自定义皮肤以遵循类似的约定。)手动:皮肤自动发现 详情。

MIDAWIKI版本: ±一点二四

MiTaWiKi 1.24更改核心皮肤文件的路径。升级到这个版本之后,您应该确保旧文件科隆蓝现代PHP一本书矢量直接在目录已不存在。手动:皮肤自动发现 详情。

升级扩展

某些扩展已经更新,以便与新版本的MiaWiKi一起工作。一定要升级到这种扩展的最新版本。您可能需要对自定义扩展执行手动更新。

不同塔尔鲍尔包括一些扩展子集,并有版本控制,帮助您升级选择合适的MyaWiKi核心发行版。

扩展分配器对于希望使用支持的MyaWiKi版本的扩展的快照的大多数人来说都是很好的。

如果你想要很多扩展从Git下载可能是最好的。如果你没有Git,但是你想升级很多扩展,你可以考虑使用MWEXT平铺机.


适应你的本地设置

如果您使用相同的本地设置从旧版本,您可能需要适应新版本如何处理它:

皮肤配准

自从MiTaWiKi 1.24,捆绑的皮肤像矢量,Monobook,现代和科隆蓝不再是MeaWiKi核心的一部分,它们需要明确地注册。本地设置要使用它们,否则MyaWiKi将警告您没有安装的皮肤。

这是你需要补充的本地设置当从1.24岁以上的版本升级,并希望有一个皮肤:

瓦瓦德皮 “向量” 
瓦瓦德皮 “单本书” 
瓦瓦德皮 “现代” 
瓦瓦德皮 科隆蓝 

此代码适用于MeIaWiKi 1.25和更新版本。对于MeaWiKi 1.24,您需要使用以下代码:

要求一次 美元IP皮肤/向量/向量
要求一次 美元IP皮肤/ MonoBook /单本
要求一次 美元IP皮肤/现代/现代
要求一次 美元IP皮肤/ CologneBlue /科隆蓝

其他皮肤可能仍不能适应新的皮肤。皮肤配准系统,请参阅有关每个皮肤的文档页,以查看如何在出现问题时正确注册。

延期登记

由于MyaWiKi 1.25,扩展使用新的延期登记系统

以前你本地设置将包括:

要求一次 美元IP/扩展/引用/引用.php
要求一次 美元IP/扩展/小工具/小工具.php
要求一次 美元IP/Exp/ IMAMEPA/IMAMEMAP.PHP
要求一次 美元IP/Ext/ InputBox /InPotoPo.php
要求一次 美元IP/Exp/ Nuk/Nuk.php
要求一次 美元IP/Prime/PARSRESULTS/PARSCORIP.PHP
要求一次 美元IP扩展/诗/诗
要求一次 美元IP/Exp/ SytActhHythLyGeHi/SythAcQuasLygGeHiph.php
要求一次 美元IP/扩展/ WikEdgels/WikEdgels.php

这可以转换为:

拉伸张力 “引用” 
拉伸张力 “小玩意儿” 
拉伸张力 “图像贴图” 
拉伸张力 “输入框” 
拉伸张力 核武器 
拉伸张力 “帕塞尔函数” 
拉伸张力 “诗” 
拉伸张力 SytActhHythLig GeSHI' 
拉伸张力 “维基编辑器” 

扩展适用于使用新的扩展注册系统。不适应的扩展应该使用旧的安装方法。请参阅扩展页上的安装说明以获取更多信息。

其他变量

有些变量可能过时,甚至被删除。本地设置通常新的变量可以在新版本中添加,或者一些现有变量改变了它们的类型。我们通常尝试使用SANE默认值,并且在类型改变的情况下,向后兼容。无论如何,请查看发布说明来查看这些更改。

运行更新脚本

您可以通过两种方式升级MeaWiKi数据库:要么从命令行升级,要么从Web浏览器升级。如果您有shell访问服务器,建议从命令行升级,因为这降低了升级过程被超时或连接重置中断的风险。

脚本还将尝试下载MeaWiKi需要的任何缺失依赖项。

命令行

访问服务器的命令行或SSH外壳或类似的命令行。您可以通过SSH连接到服务器来访问命令行。如果您正在运行的本地PC运行微软Windows,则需要一个工具油灰使用SSH。从命令行或shell中,更改为维护目录并执行更新脚本

$PHP UpDATE.PHP

在Linux服务器上,如果您遇到错误,尝试执行与root相同的命令(SUDO PHP维护/UpDATE.PHPWindows上简单安装的说明(如XAMPP 首先,确保你的Web服务器(比如Apache)和你的数据库(比如MySQL)正在运行。然后运行UpDAT.php:右键单击它,选择Open,然后浏览到php.exe。当模式升级完成时,所产生的命令提示符窗口很可能自动关闭。

您可能会看到您的PHP版本太旧,MediaWiKi需要更新版本的消息。在该消息之后,更新中止。这个错误的原因是命令行可以使用另一个PHP版本,而不是从Web服务器执行MeaWiKi时使用的PHP版本。当你得到这个消息时,你应该检查,如果你可以使用一个不同的命令在shell上执行一个更新的PHP版本:PHP5PHP56. 如果另一个版本可用,如果是,那么在哪个名称下,取决于服务器的设置。如果它不起作用,问问你的主人,他一定会知道。

MistaWiKi将检查现有的模式并将其更新以与新代码一起工作,根据需要添加表和列。

如果你使用共享数据库你应该通过--多斯哈德如果希望共享表被更新,请使用参数。否则,它们不会被更新脚本所触动。

在“更改命令拒绝用户”错误(或类似)的情况下该怎么办?

如果脚本中止的消息类似于:

错误:1142更改命令被拒绝给用户'wiki ''LoalHoal',用于表'MyTea'(LoalHoalHistor)错误:必须是MyTABLE关系的所有者

这意味着你应该检查你已经定义了WGDBAID用户 $WGDAdmin口令 在你本地设置 文件(在主目录中)。这些是该脚本为了访问数据库所需的用户和密码。

在某些情况下,即使使用MySQL时,也可以读取旧的$WGDBMWScript变量(对于PASGRESs)来更新表名而不是$WGDBNEX。如果是这种情况,只需清除LocalSettings.php中的$WGDBMWScript定义即可。

在“意外字符串”错误的情况下该怎么办?

从命令行运行UpDAT.PHP的个人可能会遇到以下错误:

语法错误,意外的TSH字符串,期望TyOLDY函数或Type函数或TyVar或'}'在13行的维护/命令行中的应用

当从PHP4运行UpDAT.PHP时发生此错误。

由提供PHP4和PHP5的提供者托管的站点的个人应采取以下步骤:

  1. 从命令行输入命令“PHP5”
  2. 一旦您识别了PHP5路径的位置,就列出PHP5/Bin目录的内容。
  3. 一旦确定PHP可执行文件的名称(PHP或PHP5),就键入执行UpDATE.PHP的整个路径。

下面是一个例子:

PHP5美元$La/Ur/Prime/php5/bin $/Ur/Prime/php5/bin /php UpDATE.php

在“RealStestARGCYARGV”设置为false“错误”时该怎么办?

你可能会遇到错误:

无法获取命令行参数,RealStIsARGCYARGV设置为false
  1. 去~~维修。要么编辑现有的php.ini文件,要么创建一个文件。
  2. 添加一行如下:
真值
  1. 重新运行PHP UpDATE.PHP

网络浏览器

MIDAWIKI版本: ±一点一七
也见UpDATE.PHP

如果您的数据库已经很大并且生产量很高,那么您不应该使用Web更新器,例如更新过程将在最大执行时间达到。在那种情况下你应该使用。UpDATE.PHP从命令行接口(不是来自Web)。确切地说,“太大”取决于服务器(例如,它的性能、负载以及PHP的最大执行时间允许脚本运行多长时间)。如果您的wiki对于Web更新器来说太大,而您的宿主提供程序不允许命令行访问,那么您需要将您的wiki迁移到另一个托管帐户,最好是具有shell访问的帐户。

  1. 总是撑腰在执行数据库维护之前。
  2. 导航你的网页浏览器/MW配置/. 例如,如果你的wiki在HTTP://Expul.Org/W/Delix.PHP然后导航到HTTP://ExcPul.Org/W/MW-CONTION/.
  3. 选择您的语言并单击“继续”。
  4. 应检测现有安装。按照屏幕上的说明进行升级。
    如果需要“升级密钥”,打开你的本地设置 文件并查找分配给的密钥$WGP .

可能发生的是Web更新器似乎无法工作:而不是看到最初的语言选择屏幕,您可能会看到一个空的wiki页面,可能带有一些错误消息。在这种情况下,最有可能的是,您的Web服务器使用重写规则(最有可能的是短网址),它不显示更新器。兆瓦配置/,但维基页面兆瓦配置/资本“M”。在这种情况下,重命名HTAccess文件的更新时间。然后,您应该能够访问Web更新器。

警告 警告: 如果您使用此方法,请确保更改.HTACCESS文件的名称运行升级脚本后!否则,短网址和可能的其他东西将被打破!

测试更新

一旦升级完成,浏览到Wiki并检查以下操作是否符合预期:

  • 查看页面
  • 编辑页面
  • 上传文件
  • 访问特殊:版本并检查所显示的版本是否正确以及扩展是否存在。

常见问题

升级有多困难?

如果您修改的唯一文件是本地设置 ,你从1.5或更高的升级,过程是非常简单的。人类工作的工作量只有几分钟。数据库模式更改将占用与数据库大小成正比的一段时间-对于拥有数百万页的Wiki来说可能是小时,但是对于几千页的更典型的大小,通常是在几秒钟内完成的。

在同一个主要版本中,从1.130到1.131的次要升级根本不需要任何模式更改。您可以只更新文件。数据库不需要更新,因此不必运行安装程序脚本。

从1.4或更早升级可能是复杂的,因为除了UTF-8之外的字符集的支持被丢弃,并且存储大容量文本的模式发生了变化。请阅读相关章节升級文件

如果您修改了我们的源代码,并且不希望覆盖更改,升级将变得困难。工具如微分补丁MELD文件比较可能有用。如果使用未维护的扩展,也存在潜在的问题。升级您的扩展,同时升级MeaWiWiKi。

如果您已经修改了皮肤或使用自定义皮肤,您很可能将不得不调整它与新版本的MyaWiKi一起工作。

不是每次都修补你的“全局”CSS和JS(JavaScript)文件,你可以简单地将代码添加到MyaWiKi:Cuff.js和MyaWiKi:Cudio.CSS页面。由于这些是数据库的一部分,当您升级时将被重用,您将不再需要修补MediaWiKi核心文件。

如何升级一个真正的旧版本?一步,还是几步?

这取决于:如果你是从MeaWiKi 1.4升级或更旧你应该先升级到MeaWiki 1.5。如果您正在从LaTIN -1 Wiki升级,请使用UpGeDe1y5.5.PHP(在MediaWiki 1.5中找到)将数据库的相关部分转换为UTF-8($GuSelelDAT1 在你的需要被设定为真实本地设置 为此工作。接下来,运行UpDATE.PHP,然后设置美元编码 在LocalSettings.php中选择先前由wiki使用的编码(例如,Windows 1252)。这基本上是如何将维基百科和其他维基媒体基金会网站从MeaWiKi 1.4升级到1.5——参见相关设置文件(警告:大页面!)还有一些维基奇相关笔记. 在运行升级1.5脚本之前,您可能需要升级到MeaWiki 1.4。如果您想在LATIN -1 Wiki中创建数据库转储(例如MySQL),请确保旧文本中的字段文本 表是中间斑点不是中间文本避免字符编码问题。

如果你是从MediaWiKi 1.5升级或更新您可以在一个步骤中升级,从旧版本升级到最新的稳定版本。绝大多数的报告以及自动化测试表明,一步一步的工作很好。如果你有困难相信这个,读邮件列表. 但是,请注意,当您从旧版本更新时,遇到PHP错误的可能性比从新版本之前直接升级的版本大。你也会收到这些错误,如果你没有跳过的版本,但是如果你每次都做了每一次更新。只有你——当你跳过版本-同时得到它们。这将使升级更加困难,但不要忘记,您没有更新到中间版本的麻烦,这是您跳过的!

我应该先备份吗?

简短的回答:是的。

长的答案:这取决于A)你对你的数据有多重视,B)创建一个备份有多么困难,C)MySQL的维护和管理是多么的自信。

升级失败可能会使数据库处于不一致的状态,介于两个版本之间。在升级过程中可能会发生PHP或MySQL错误,从而使数据库部分升级。在这种情况下,有可能通过人工操作来解决这个问题。然而,它将是方式更容易只需在运行UpDAT.PHP之前将数据库备份放在适当位置,然后继续执行。否则你可能会有不必要的工作时间。

复苏往往是复杂的。支持论坛的志愿者不太可能留下深刻印象,如果你忽视备份,然后需要帮助从升级相关的腐败恢复。一个更好的结果是,如果你可以恢复到你的备份,然后报告对应的MyaWiKi项目的bug在导致腐败的升级过程中。

我可以保存我的LoopalStest.PHP吗?

是的,但是你可能需要做一些小的改动。格式本地设置 基本上是向后兼容的。更改LoalStalpIs.pHp兼容性的更改将在“配置更改”部分中记录。版本说明.

我的维基可以在线升级吗?

一般来说,是的,但是Git可以暂时(几秒钟)打破它。

如果您在MyaWiKi的小版本之间升级,那么您需要做的就是更新源文件。

注意:以下假设您有命令行访问权限。如果您在MyaWiKi的主要版本之间升级,优选的程序如下:

  1. 将新版本的MyaWiKi解压到新目录中
  2. 准备新目录:从旧目录复制当前的LoopalStuts.PHP,复制任何已安装的扩展和自定义皮肤(如果有的话)。检查沃格戈设置LocalSettings.php,必要时将标识文件从旧目录复制到新目录。
  3. 在新版本的发行说明中,查看是否需要对LoopalStuts.PHP进行任何更改。
  4. 将数据库中的下列变量插入到旧目录中的LoopStalgs.PHP中,将数据库置于只读模式。如果用户在升级过程中尝试编辑,则会看到此消息:
    美元兑美元 =升级到MyaWiKi 1.33.0;
  5. 运行更新脚本或新目录中的Web更新程序。
  6. 将图像从子目录复制到旧目录到新目录。
  7. 交换旧目录和新目录。

为什么要升级?

订阅媒体公告通知新版本。

因为它是通常很容易从你的版本到最新的一个步骤而且通过网络.

最近的版本接收安全修补程序,以使您的维基和主机安全免受破坏,而旧版本则不会。版本生命周期 这使得几十个良好的理由升级!

新的主要版本带有新特性,您可能需要使用这些新特性:请参阅发行说明以获取详细信息。如果你需要额外的理由说服你的老板让你从一个相当旧的版本升级,这里是一个总结:

  • 进入一点二四密码存储被改进以允许更好的安全性。
  • 进入一点二七会话管理被重做,用户认证管理完全现代化。
  • 自从一点二九对动作API进行了修改和改进。此外,用户组分配现在可以完成一个可选择的时间段。

也见投票最多的固定问题列表打开(放)布吉拉 高达2014。

此外,在媒体维基1.18我们开始捆绑一些重要的扩展像一个更好的编辑器和反破坏工具RealMeTube和Nukes;在后来的版本中添加了更多。


也见