0

我正在尝试使用大型维基词典转储(3GB)在本地安装MediaWiki(1.29.1 或 1.27.3 )。在将 xml 转储转换为 sql 文件并将后者导入我使用此脚本创建的数据库后,我按照浏览器中的 MediaWiki 安装说明生成我的特定“LocalSettings.php”。我收到消息

此数据库中有 MediaWiki 表。要将它们升级到 MediaWiki 1.29.1,请单击继续。”

通过单击“继续”按钮,浏览器将永远处于加载状态。

我的理解是,包含维基词典转储的数据库中有一些与我正在使用的维基媒体版本不兼容的表。因此,需要更新 DB。我尝试从命令行运行 install.php 以避免浏览器超时。该命令没有返回任何内容(等待超过 2 小时后)。

我也尝试了一种解决方法:

  • 用空表创建我的数据库

  • 从浏览器生成“LocalSettings.php”(因为数据库很小,所以速度很快)

  • 将 wiki sql 转储导入我的数据库

  • 刷新 index.php 页面

然后我得到了一个带有此消息的空白页

异常处理程序中捕获的异常。设置 $wgShowExceptionDetails = true; 和 $wgShowDBErrorBacktrace = true; 在 LocalSettings.php 的底部显示详细的调试信息。

我在网上找到的关于这个问题的所有示例和教程都假设/使用一个小型或新创建的数据库。

知道有什么问题吗?真的有人尝试使用现有的 wikimedia 转储并在本地运行它吗?为什么没有这么先进的例子?

4

2 回答 2

1

您写了“我正在尝试安装 Wikimedia(1.29.1 或 1.27.3)”。我想您是在谈论 Mediawiki,而不是 Wikimedia。我对吗?

1) 你可以试试维基词典的解析版本。它有点旧(2014 年)http://whinger.krc.karelia.ru/soft/wikokit/index.html

2)您可以尝试使用我的教程,下载维基词典转储、上传到 MySQL、转换和解析为对工作更有用的东西:维基词典解析器入门

请参阅:MySQL 导入

于 2017-11-11T05:47:41.380 回答
1

第一级的问题源于似乎已经过时的mwdumper 。我使用 mwdumper 生成的 sql DB 缺少一些应该通过运行 update.php 创建的表。我不可能从 shell 或浏览器运行任何 php 文件,我怀疑转储的大小是原因。

通过某种魔术帮助克服此问题的解决方法是:

  1. 从缺少 db 凭据的 shell 运行 update.php。这以某种方式启用日志并使 index.php 可以通过浏览器执行
  2. 手动添加到错误消息中声明的缺失表列(应尊重此处的列类型)
  3. 在 mediawiki 安装的正确目录中放置一个 LocalSettings.php 文件,该文件是从带有空表的维基词典数据库轻松生成的。
  4. 从浏览器运行 index.php

瞧!巨大的维基词典 mysql 转储现在可以查询 mediawiki 界面。不确定这样的技巧是否可以称为解决方案,但它解决了我的问题。对背景中可能发生的事情进行解释肯定会有所帮助。

于 2017-11-13T17:15:26.897 回答