2009-11-27 138 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中的升級指導之外,所有這些都是一個非常好的開始,並且完成所有這些工作,可能會避免所有這些。