【发布时间】:2020-06-19 21:03:34
【问题描述】:
是否可以在不丢失数据的情况下从 MediaWiki 从 1.15 升级到 最新稳定 版本?我相信我会遇到数据库表和扩展的问题。
提前谢谢你
【问题讨论】:
标签: mediawiki mediawiki-extensions mediawiki-templates mediawiki-installation
是否可以在不丢失数据的情况下从 MediaWiki 从 1.15 升级到 最新稳定 版本?我相信我会遇到数据库表和扩展的问题。
提前谢谢你
【问题讨论】:
标签: mediawiki mediawiki-extensions mediawiki-templates mediawiki-installation
根据个人经验,我建议您放轻松并升级one major version at a time,尤其是当您对此过程没有太多经验时。这种一口大小的方法需要更长的时间,但作为回报,您将:
LocalSettings.php 从当前版本移至新版本时,请逐步更新它,当我多年来第一次从 1.27.3 升级到 1.31.8 时,这种方法帮助了我。我至少遇到过两次问题,但找不到有关如何处理它们的相关信息。最烦人的是在尝试新安装时没有来自update.php 脚本或空白页面的反馈。
下面我将记录我更新 MediaWiki 的经验,以防对面临重大升级的任何人有所帮助。这些只是要点,请阅读官方Upgrading页面。
不要将 MediaWiki 发布存档解压缩到现有的 wiki 安装目录中。将旧实例移动到某个备份目录并重新开始。同时备份数据库。
从原始安装创建LocalSettings.php 的副本,并注释掉所有自定义扩展和皮肤,因为它们将不再存在。
现在升级版本:
将LocalSettings.php 从上一个实例复制到解压发布存档时创建的目录。似乎没有办法在升级期间生成新的默认 LocalSettings.php,这样可以避免一些问题。
在maintenance 目录中运行更新脚本。应该有一些输出:
$ php update.php
MediaWiki 1.31.8 Updater
...
如果根本没有输出,则意味着LocalSettings.php 配置中的某处可能存在问题。请参阅下面的调试部分。
您现在应该可以访问 wiki 了。
获取下一个主要版本的release archive,阅读Release Notes 并重复这些步骤。
一旦您达到目标版本,您可以逐步复制旧 wiki 中的所有自定义更改(扩展、修改、图像、皮肤等),记住在 LocalSettings.php 中启用它们。
将 MediaWiki 置于版本控制之下可以更轻松地跟踪任何定制。只需确保您的存储库对全世界都无法访问。
为了调试启用LocalSettings.php中的以下设置:
$wgShowExceptionDetails = true;
$wgShowDBErrorBacktrace = true;
$wgShowSQLErrors = true;
现在转到安装页面https://.../mw-config/(调整 URL 以匹配您的设置),您应该会看到一些错误,这些错误可能表明出了什么问题。例如,旧版本的某些皮肤或扩展可能不再受支持,您必须在 LocalSettings.php 中禁用它们。
配置更新后重试,直到您进入网络安装程序。
一旦您成功进入 Web 安装程序页面,请停在那里并使用 update.php 脚本重试。它现在应该可以工作了。关闭网络安装程序,现在不需要运行它。
update.php 完成后,您应该能够访问 wiki。禁用LocalSettings.php中的调试设置。
【讨论】:
理论上,是的——更新机制是一大堆数据库迁移脚本,当你升级代码时会扩展,所以版本的数量并不重要。实际上,这还有很长的路要走,因此其他人不太可能测试过特定的升级路径。请务必先备份。
一个值得注意的例外是HitCounter 数据,它确实被删除了,因为该功能已从 MediaWiki 中删除。有关解决方法,请参见该页面。
【讨论】: