2009-11-27 111 views
0

当我将我的webite从drupal 4.7升级到5.2时,我遇到了一个问题 - 致命错误:在../question.module中调用未定义的函数node_get_base()。将drupal 4.7升级到5.2

任何一个可以帮助我解决这个问题... 在此先感谢

回答

2

你的问题的根源是,你有文件question.module在一些代码中调用一个函数已过时(node_get_base())。 Drupal 5.2没有实现这个功能,所以你得到的错误...

我假设你正在使用的question.module是this one,它确实存在于Drupal 5系列中。如果我是正确的,那么我怀疑你已经错过了跟随升级说明更新网站,其状态:

5) Disable all custom and contributed modules.

[..]

11) Ensure that the versions of all custom and contributed modules match the new Drupal version to which you have updated. For a major update, such as from 5.x to 6.x, modules from previous versions will not be compatible and updated versions will be required.

12) Re-enable custom and contributed modules and re-run update.php to update custom and contributed database tables.

这些指令在UPGRADE.txt文件中的Drupal的根文件夹。

希望这会有所帮助!

0

将Drupal升级到新版本时,您在某些方面或多或少必须重新构建网站。问题是,因为Drupal API在新版本中发生了很大变化,所以每个模块都需要替换为新版本。在大多数情况下,这只是下载新版本模块并运行update.php的问题。

但是,您应该浏览每个模块并找出升级所需的内容。有时候升级路径可能有点棘手,你需要一些尝试才能正确地完成升级,而不会破坏流程中的任何数据。

另一件事是,升级时,去同一个模块的drupal 5版本可能并不总是最好的选择。特别是在谈到Drupal 5时,有很多或多或少没有维护的模块。所以最好的选择可能是找到一个可以做你想做的事情的模块,或者甚至满足你更多的需求。

这总是一个艰难的决定,您的主题也需要升级到Drupal 5.简而言之,在进行重大升级时会发生很多工作。它大部分都在做出一些很好的选择,使用哪些模块以及如何迁移数据。

除了像mac这样的UPGRADE.txt中的升级指导之外,所有这些都是一个非常好的开始,并且完成所有这些工作,可能会避免所有这些。