【问题标题】:How to uninstall overridden system module in drupal 6如何在 drupal 6 中卸载覆盖的系统模块
【发布时间】:2013-01-29 11:47:57
【问题描述】:

我不小心安装了一个 drupal 更新 (6.26) 到站点/所有/模块是的,我把整个 drupal 根目录放在那里,所以我有 sites/all/modules/modulessites/all/modules/sites/all/modules 等)。

然后,在不知不觉中运行了 update.php,一切正常,因为 Drupal 智能地将 sites/all/modules/modules/* 中的新核心模块注册为核心模块。

在下一次更新之前,这一切正常。我将核心drupal文件放入根目录,核心被正确替换为6.27。但在sites/all/modules 中是上次更新的 6.26 文件,drupal 接受 sites/all/modules 中的旧文件,覆盖核心 /modules 文件。

因此,drupal 现在抱怨它仍然是 6.26,即使真正的核心是 6.27 - 这些文件实际上从未被调用,因为被 /sites/all/modules/modules/* 覆盖。

所以: 我设法从那里删除了所有不需要的模块,并且出现了一些错误,我让它再次工作。最好的方法是: 更改 sites/all/modules/modules/<module>/<module>.info 文件并将版本号从 6.27 调整为较旧的版本,例如 6.25。 THEN 运行 update.php - 这样 Drupal 就会识别出站点/所有/模块中的版本比核心版本中的旧版本。现在删除目录并再次运行 update.php。现在这个模块的一切都是干净的。

但这不适用于 system 模块。每次我尝试删除 sites/all/modules/modules/system/ 目录时,update.php URL 都无法再调用(HTTP 错误 500)。

任何提示如何从意外覆盖的系统模块中恢复?

【问题讨论】:

  • 更新前有备份吗?并且不要用这种嵌套的文件夹结构使您的生活复杂化。
  • 啊,没有备份(真丢人。) - 复杂的文件夹结构?这是原始的drupal结构......唯一的变化是意外“根更新”进入 /sites/all/modules 目录,所以我不小心在 /sites/all/modules 中有一个完整的drupal子系统.
  • 是的,我指的是sites/all/modules 目录下的完整drupal。如果您删除它并基本上在朋友中拥有一个普通版本会发生什么?
  • 您的{system} 表好像坏了。您能否运行此查询并粘贴结果:SELECT filename FROM {system} WHERE name = 'system'?如果路径不是这样的:modules/system/system.module,那么至少我们知道问题出在哪里。
  • 是的,看起来你的{system}' table is broken. You're missing at least 2 important lines: modules/system/system.module`和modules/user/user.module。你有安装 Drush 吗?

标签: drupal drupal-6


【解决方案1】:

我终于找到了答案(感谢 Max),并希望分享它以防其他人遇到同样的问题。

如果您不小心将 drupal 更新安装到 /sites/all/modules 之类的子目录中,此解决方案应该可以工作。 运行 update.php 后,系统 db 表将更新为新路径,因此 /modulesnot 的所有模块都优先于 /modules 中的模块。您可以卸载所有可选模块,这样它们也可以毫无问题地从系统表中清除。

system 模块的情况下,这是不可能的,因为当安装了错误的模块时,您无法卸载 system 模块。

所以你要做的是:

  1. 打开system 表,例如phpMyAdmin,然后搜索系统模块:SELECT * FROM system WHERE name = "system"
  2. filename 字段从“sites/all/modules/modules/system/system.module”(或其他任何内容)更改为“modules/system/system.module”
  3. 现在(这很重要之前你运行update.php!)删除错误的系统模块文件夹。
  4. 运行 update.php

现在 Drupal 应该找到原始(内置)系统模块 - 一切都应该没问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    相关资源
    最近更新 更多