【问题标题】:Install MediaWiki locally with a large DB: "LocalSettings.php" couldn't be generated使用大型数据库在本地安装 MediaWiki:无法生成“LocalSettings.php”
【发布时间】:2018-04-21 13:33:59
【问题描述】:

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

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

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

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

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

  • Create 带有空表的数据库

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

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

  • 刷新 index.php 页面

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

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

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

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

【问题讨论】:

    标签: php mysql mediawiki wiktionary


    【解决方案1】:

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

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

    2) 你可以尝试使用我的教程来下载维基词典,上传到 MySQL,转换和解析为对工作更有用的东西:Getting started Wiktionary parser。

    见:MySQL import

    【讨论】:

    • 是的,我的意思是 MediaWiki(抱歉让您感到困惑)。感谢您的指点,但我有一个特定的用例,我只想在本地运行维基词典以从其 GUI 进行一些自动查询。我将在下面描述我对这个问题的解决方案
    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-05-07
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多