当我将我的网站从drupal 4.7升级到5.2时,我遇到了一个问题 - 致命错误:在../ question.module中调用未定义的函数node_get_base()。
任何人都可以帮我解决它...... 提前致谢
答案 0 :(得分:2)
问题的根源在于您在文件 question.module 中调用了一个不推荐使用的函数(node_get_base())。 Drupal 5.2不再实现该功能,因此您收到错误...
我假设您正在使用的question.module是this one,它确实存在于Drupal 5系列中。如果我是对的,那么我怀疑您错过了按照升级说明更新您的网站的状态:
5)禁用所有自定义和贡献的模块。
[..]
11)确保所有自定义和贡献模块的版本与您更新的新Drupal版本相匹配。对于主要更新,例如从5.x到6.x,以前版本的模块将不兼容,并且需要更新版本。
12)重新启用自定义和提供的模块,然后重新运行update.php以更新自定义和提供的数据库表。
这些说明位于Drupal根文件夹中的UPGRADE.txt
文件中。
希望这有帮助!
答案 1 :(得分:0)
将Drupal升级到新版本时,您或多或少会在某些方面重新构建网站。问题是,因为Drupal API在新版本中变化很大,所以每个模块都需要更换一个新模块。在大多数情况下,这只是下载新版本的模块并运行update.php。
但是,您应该浏览每个模块并找出升级所需的内容。有时升级路径可能有点棘手,您需要尝试一些尝试才能正确处理,而不会破坏流程中的任何数据。
另一件事是,在升级时,使用同一模块的drupal 5版本可能并不总是最佳选择。特别是在谈论Drupal 5时,有许多或多或少未维护的模块。所以最好的选择可能是找到一个可以做你想做的事情,甚至满足你更多需求的不同模块。
这一直是一个艰难的决定,你的主题也需要升级到Drupal 5.简而言之,在进行重大升级时会有很多工作进展。其中大部分都在做出一些很好的选择,使用哪些模块以及如何迁移数据。
除此之外,遵循UPGRADE.txt中的升级指南,如mac建议是一个非常好的起点,并且完成所有这些腿部工作,可能会避免所有这些。