我不小心将drupal 更新(6.26)安装到sites/all/modules中(是的,我把整个drupal 根目录放在那里,所以我有sites/all/modules/modules
,sites/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。然后运行 update.php - 所以 Drupal 识别出站点/所有/模块中的版本比核心版本中的旧版本。现在删除目录并再次运行 update.php。现在这个模块的一切都是干净的。
但这不适用于系统模块。每次我尝试删除sites/all/modules/modules/system/
目录时,update.php URL 都不再可调用(HTTP 错误 500)。
任何提示如何从意外覆盖的系统模块中恢复?