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