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
.
中禁用调试设置
是否可以从 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
.