MediaWiki 从 1.15 更新到最新版本

MediaWiki update from 1.15 to latest version

是否可以从 MediaWiki 从 1.15 升级到 最新稳定 版本而不丢失数据?我相信我会遇到数据库表和扩展的问题。

提前致谢

理论上,是的 - 更新机制是一大堆数据库迁移脚本,当您升级代码时它会被扩展,所以版本的数量并不重要。实际上,这还有很长的路要走,因此其他人不太可能测试过该特定升级路径。请务必先备份。

一个值得注意的例外是 HitCounter 数据,它确实被删除了,因为该功能已从 MediaWiki 中删除。请参阅该页面以了解解决方法。

根据个人经验,我建议您放轻松并升级 one major version at a time,尤其是当您对该过程没有太多经验时。这种一口大小的方法需要更长的时间,但在 return 中,您将:

  • 每次出现问题时都需要处理更少的问题,
  • 每次将其从当前版本移至新版本时,LocalSettings.php 会逐渐更新,
  • 熟悉每个版本的 Release Notes - 它们包含关于配置和重大更改等的注释,最后
  • 熟悉这个过程。

当我多年来第一次从 1.27.3 升级到 1.31.8 时,这种方法帮助了我。我至少遇到过两次问题,但找不到有关如何处理这些问题的相关信息。最烦人的是在尝试新安装时没有来自 update.php 脚本或空白页面的反馈。

下面是我更新 MediaWiki 的经验笔记,以防对面临重大升级的任何人有所帮助。这些只是要点,所以也请阅读官方 Upgrading 页面。

安装

不要将 MediaWiki 发布存档解压缩到现有的 wiki 安装目录中。将旧实例移动到某个备份目录并重新开始。还要制作一个 back-up 数据库。

从原始安装创建 LocalSettings.php 的副本并注释掉所有自定义扩展和皮肤,因为它们将不再存在。

现在,当您升级版本时:

  • LocalSettings.php 从上一个实例复制到在提取发布存档时创建的目录。似乎没有办法在升级期间生成新的默认值 LocalSettings.php,这可以防止某些问题。

  • 运行 更新 maintenance 目录中的脚本。应该有一些输出:

    $ php update.php
    
    MediaWiki 1.31.8 Updater
    ...
    
  • 如果根本没有输出,这意味着 LocalSettings.php 配置中的某处可能有问题。请参阅下面的调试部分。

  • 您现在应该可以访问该 wiki。

  • 获取下一个主要版本的发布存档,阅读Release Notes并重复这些步骤。

一旦达到目标版本,您可以逐渐复制旧 wiki 中的所有自定义更改(扩展、修改、图像、皮肤等),记得在 LocalSettings.php.[=30= 中启用它们]

将 MediaWiki 置于版本控制之下可以更轻松地跟踪任何定制。只要确保你让世界无法访问存储库。

调试

为了进行调试,请在 LocalSettings.php 中启用以下设置:

$wgShowExceptionDetails = true;
$wgShowDBErrorBacktrace = true;
$wgShowSQLErrors = true;

现在转到安装页面 https://.../mw-config/(调整 URL 以匹配您的 set-up),您应该会看到一些可能表明错误的错误。例如,旧版本的某些皮肤或扩展可能不再受支持,您必须在 LocalSettings.php.

中禁用它们

更新配置后重试,直到您进入网络安装程序。

一旦您成功进入 Web 安装程序页面,请停在那里并使用 update.php 脚本重试。它现在应该工作了。关闭 Web 安装程序,现在不需要 运行。

update.php 完成后,您应该可以访问该 wiki。在 LocalSettings.php.

中禁用调试设置