国外设计欣赏网站 - DOOOOR.com

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

[Drupal教程] Drupal6如何升級到Drupal 7

[复制链接]
发表于 11-30-2011 06:26 | 显示全部楼层 |阅读模式
目前最成熟與使用最普級的Drupal版本當屬Drupal 6。2011年初Drupal ( X+ G7 l* K+ p% `- ^7雖已正式釋出,但對於Drupal 6使用者來說是否已經可以升級上去?該怎麼升級? 0 }! a* Y) `* \1 `

 >> Drupal核心程式下載

0 o# [: U1 s6 l7 r Q6 J

 >> Drupal 7釋出的報導

7 }; |7 V2 S2 O5 h7 w

根據Drupal.org的官方說法,Drupal . C- d. ^ m$ M 7效能更好,使用介面更友善,而且也整合了更多的功能。像是在Drupal 6中使用很普及的CCK,以及圖片上傳介面等。

0 E( m9 `7 e" D9 g/ ]) o" F

+ u P( M* x! ?) W6 _5 ?

△ 圖說:Drupal 9 M2 H0 Y9 {# D' l' I. B 7管理介面改成Overlay(堆疊)的設計,與Drupal 6有很大的不同。

. E4 |% [0 z+ a* G7 E% i: T7 n% T

# U8 v7 }0 S9 H" G. e

無論如何,技術這東西都是往前看的,所以如果你現在要架一個新的網站,而且選擇要使用Drupal了,除非你要開發或在使用某種功能,這個功能的相關模組完全不知何時才會從Drupal 6 E1 V N% q$ N/ p 6移植到Drupal 7,否則在版本選擇上還是以Drupal 7為優先考量──但你要有Drupal 7的模組選擇還較為缺乏的心理準備。 % A' V$ r- f8 J" k9 n- Z' H

4 T: g: o3 l; N6 e5 y: |9 x

但如果你目前的網站是以Drupal $ m3 p A0 m/ u( J 6所架設,那麼是否能夠升級到Drupal 7呢?這就要非常謹慎了。

4 r' t3 L/ h4 X. \


Drupal小升級〔 主要版本內升級〕 6 U! P4 x. |; a" E6 `

! s/ L( z( j! m1 j1 Z

Drupal的升級有兩種:一是小升級,一是大升級。

# e. p6 f1 Z4 G2 E4 P, a G% Z

小升級指的是,例如Drupal 6.17升級到Drupal ' z. ?# F3 ~6 S+ g3 X7 m0 A 6.20,也就是在主要版本內的升級──其實這有點類似軟體更新而已。

/ @+ v7 N B8 P5 L& s( Z+ _2 d

目前Drupal的「主要版本」在使用中的有Drupal 5.x,Drupal 4 Q- F9 C/ U+ \ i" t& j, Z6.x,以及Drupal 7.x;其中Drupal 6算是最成熟,模組最為完整與多樣,使用也最普遍的主要版本。而最舊的Drupal 7 x5 a' g8 p+ n5,在官網的Drupal核心下載裡已看不到,如果你是要新架網站,完全不建議使用Drupal 5。

+ ^, `; E" F9 I3 S7 F" J( h2 h

Drupal 6現在最新的版本就是Drupal 3 J; T1 d, @: V; J5 ?" V. F 6.20。如果你要從前一版本(例如6.17)升級到Drupal 6.20,相當簡單。

) \5 J; R* H# S/ |7 w8 C9 ^

我的經驗是,大略依以下升級過程(而且不用很嚴格遵守)就可完成小升級;而如果你的心臟夠強,或者反正你的網站也沒人在看,毀了也不怕,那你也可以試試跳過1, 0 D6 T" ~) k" K7 ] }/ J! N 2,直接從第三步驟開始攪不好也行〔不過這裡的方法本人完全不負責任,網站出問題請自行負責〕:

, i8 R- w$ v: o
7 ~' k. _& }8 }$ @

1. 將網站設定為離線狀態。

6 D) P& _5 X ^' O. z

2. 4 y, D o' O. o; [" x 做好網站備份-包含所有的網站目錄與檔案,以及資料庫。這是做任何網站升級之前一定要做的,以免升級過程當中,和結果有什麼不測,才可以藉由備份檔挽回。 $ r, v, U% a8 J

" H% M' q1 d" a

3. 5 j* r$ j u; W( j" F7 K下載最新版核心程式,解壓縮之後,再把全部的檔案上傳到網站的對應位置去,把舊檔覆蓋掉即可。

; u& B& [7 a; z3 ^( f3 d0 o% k

如果你是屬於小心謹慎型的人,那麼這是官方建議的標準升級程序: 2 J. L v1 L; j6 L7 S, p

1 c8 h5 ` y* c& B& [$ F- B/ A
8 Y3 o* |/ a* i: e1 ]+ u

1. 以具有管理員身份的帳號登入你的Drupal網站〔最好用天字一號的使用者帳號〕 4 G( n4 Z/ B9 @

8 t2 w/ {5 X- Y7 B; ?7 H

2. 8 d: G! e1 y! D( _. k4 z9 n到「管理/網站設定/網站維護」(/admin/settings/site-maintenance)將網站狀態設定為「離線」

2 F! N$ k2 M# w4 X- G7 o( V

3. ( F. A) q; B, I5 P) D+ x, [1 A保留sites目錄以及你自己所建的資料,其餘網站目錄內所有的核心程式檔案全部移除。如果你有修改.htaccess或robots.txt等檔案,或是settings.php,記得在完成安裝之後重新套用之前備份的設定。 , a Y* Z0 H4 s5 ?

* g2 E" h& w' O

4. 下載最新的Drupal 6 J5 Y. {, I* D& O# e# f5 c1 |核心程式版本,解壓縮之後上傳到你的Drupal網站的相對應目錄裡。

: M. }5 x9 ^9 r3 g- C" v

5. 必要時重新套用你的一些網站設定,如.htaccess或robots.txt。 . O0 m6 h: I( Y' _: K1 m0 m

( o! S% M1 w8 ]

6. 3 |" O. ^# ^. M( U2 ^2 ?執行updaet.php資料庫表格更新。如果網站未自動出現這個更新要求,可以在你的網站網址後面輸入/update.php

6 D; o1 K' |, l S g

(類似這樣:http://www.example.com/update.php)。 7 b) x: t' Z% W! j" ^. n

& X3 O7 q5 {& q3 w; j. M7 M! Z

如果無法執行update.php,打開setting.php進行設定的修改: # P4 Y7 [( K9 `( P1 ^; a' _

3 B5 ~0 ?9 c* ^# ?7 y

將以下程式碼

T4 b7 F' ^: H3 V, V

 $update_free_access = FALSE;

9 m: B$ E0 l- ]8 q5 e

改成:

, u; N7 p, W# x) J) U' ?9 p ]

 $update_free_access = TRUE; : L2 s1 n9 m) |# c

/ Z7 O! [6 m! x

在做好更新後,記得把這個設定值改回FALSE的設定值。

) [2 D5 w3 ?! P. I2 B; w

7. : X* E# A8 U$ x2 r7 F" s* s& q% l到網站狀態報告網頁(/admin/reports/status)確認一切正常,升級後沒有任何問題。

) i9 U G9 x/ S3 J$ S4 o2 u

8. 7 ]5 i* Z4 b) K# j確認settings.php檔案內的$update_free_access的設定值為FALSE。

8 c' R9 P* ?% h: n2 f- p. e

9. 重新將網站狀態設為「上線」。

0 V* d- x2 S) _" w+ `


Drupal 0 x' p: F7 @9 t6 E+ U& W( z 6升級到Drupal 7

" N, V P6 v) Z- c4 Y( y' [! [

如果你的網站代管在有CPanel的ISP那裡,那麼不管大小升級,升級過程可能相當簡單,只需按幾個下一步就完成,完全不需這裡的說明方法,但既使你有Cpanel,網站該不該升級,能不能升級,還是必需先經過評估。  ( ?* ?) V; a& E4 k1 F/ i1 P8 g0 W7 l

0 R3 W9 ^2 O* n$ g% b1 f1 P

特別是主要版本之間的升級不是把核心程式升級上去就可以了,更大的問題會是你在Drupal / z8 d* T+ o- Q& V, @! z- `9 _ 6上的模組/功能Drupal 7已準備好了嗎?

) m$ o1 U# W# G( _7 {" k8 D! {

例如,先前我的升級評估中就發現,我的Drupal . A+ B$ u4 G/ b( \ v* ~* q$ M7 h, O 6網站中所使用的重要模組Gmap,都還未移植到Drupal 7。而在Drupal 5 r1 |& h |: k \" y7釋出之後的這一個多月中也接觸與使用過很多模組及版型,也發現到尚未從Drupal 6移植到Drupal 7的情況相當普遍。

* p: o& q( R+ {2 G

所以,以目前的時間點來說,在做升級決定之前,對於模組與功能問題,一定要做好謹慎的評估與測試--如果你需要的模組還未移植,是否有解決方案?就算已移植過去了,是否有相容性及執行上的問題 + N+ H7 A8 A, p' k5 P

2 }7 M# h0 C W) ]

也因此,在以下所整理的官方升級文件中未說明的是,商業性的網站,強烈建議,先在測試網站進行測試運作,確定可行之後再進行升級。 / V/ ~/ }5 }4 X; F. b 〔我記得先前有看過一份說明如何做測試的官方文件,一時之間找不到,找到之後會在此提供連結〕

2 p. B5 z5 b$ Z: L

由於我的Drupal 6網站有許多模組在Drupal # D' O# k# d q7 a& \% O7中都沒有解決方案,所以我目前並沒有將它升級到Drupal 7,也就暫時沒有樣本可以step by # g8 a9 x4 f% h; Y9 Jstep跟看倌介紹升級過程。退而求其次,我將官方的升級文件整理如下,以供有升級需要的朋友做為參考(相關文件可在Drupal # n! c- L. P9 j5 o0 }7 a 7核心程式中找到UPGRADE.txt檔):

3 h( j1 i& k! r
+ ^ N3 \) e; f& u i) r) ~; ?' J


1. 檢查你所使用的模組及版型(themes)是否已移植到Drupal 7。 / D" R, P: O9 C% A& Y/ B

% |& \% P. O/ o) p0 Y

>> 關於貢獻模組檢查參考這裡

* ?- O0 V/ W0 e {; R

>> 關於客製化模組相容性檢查參考這裡

5 L# I. V& {* r# g7 Z

>> 貢獻的版型檢查參考這裡 3 q6 z2 E$ n7 e# ]9 Q

) V# A% ?) \! L6 J. H

>> 客製化的版型相容性檢查參考這裡

5 X7 s9 C1 v) G. z3 [) a

>> 還有這裡

4 ?& i& \, J& q" S1 ~% \

〔黑傑克註:檢查完之後,如果你所用的模組與版型Drupal 3 ~6 C9 Z S' l8 D7 R7還沒準備好,那麼大概就註定你暫時不能升級到Drupal 1 \8 t* M0 G( _- x 7,以下程序就不用再看;若確定可以升級,要謹慎安全起見,那麼建議先在原網站下開一個子目錄安裝Drupal 7進行測試,沒問題再進行升級。〕 ( {& k( Z8 W/ `! Y( I- }% @3 o- m$ O. O

# B6 s- J2 Q, G3 Z) {. P8 D

% L2 G9 j! A: F" P( ?1 y

△ 圖說:從Drupal 6升級到Drupal 2 {; W: a3 b( G0 m W9 P' `7的主要問題都圍繞在模組上,升級之前的評估裡,要先確認你所需的模組Drupal 8 b, ~5 U7 A: Q% v 7都已準備好;而在升級過程當中,必需先關閉核心模組之外的其他安裝模組,圖中模組為核模組

' W3 s) Z7 K1 d. p1 R8 O


2. 更新到最新的Drupal 6.x版本。如果你是Drupal 2 ~6 D$ q3 k2 v" y+ A6 E 5.x使用者,那麼必需先升級到Drupal 6.x。

+ }/ M. t6 m& H4 Q9 f5 {5 N


3. 以天字第一號使用者(ID 1)身份登入網站。〔就是當初架站安裝Drupal那個帳號〕 0 M! _; F$ l$ |- u7 [( `

9 u# f+ J$ @9 I* U


4. " T4 h' e$ `. t. \8 U到「管理/網站設定/網站維護」(/admin/settings/site-maintenance)將網站狀態設定為「離線」,然後儲存設定。 / p* d4 h' w+ G+ Q! C, M

& T P' @6 X1 p) n& a7 t0 f1 k7 G

" ^) \6 E6 w4 f: F7 F& {


5. $ h1 I c- w' Q: ?) W到「管理/網站建置/版型」(admin/build/themes),將預設版型設回Garland。

% [: V( Q- A$ a! V0 b

/ C2 i2 o0 l1 [$ r

% R) M: ?/ Y+ V


6. . Q7 c+ w/ u6 K- F 到「管理/網站建置/模組」(admin/build/modules)將「核心」類以外的模組,全部關閉。〔由於模組與模組間有依存關係,所以可能重覆操作很多次才能夠將所有非核心模組都關閉〕 / ]$ C6 }" a8 ?+ B/ \

) W% h% W' {2 r

如果有些模組是你不會在Drupal 1 m8 |, _" X( O0 L0 Y" S# f7中用到的,而且相關資料你也不會再使用,那麼可以將此模組移除。

, n0 H! t% C- i' @4 k7 y4 r


7. 移除網站中的sites/default/default.settings.php檔案 ; K9 C! ~" b2 i) ]: C F+ G

) t0 T0 y1 |+ S% W! y


8. & t6 n/ u, ~2 D" Y, z除了sites目錄,以及你自己加入的檔案與資料匣保留之外,所有的核心程式檔案與資料匣全數移除。

# D! w4 C. g2 @ E

如果你修改了.htaccess或robots.txt等檔案,記得在升級完成時重新從備份檔中重新套用舊的設定。 $ n* }* i! E/ J1 f- W

9 D& B; M) j! j1 K$ \& |9 A% d


9. + Q$ H9 s8 A9 n6 k" j如果要移除任何的模組,請從sites/all/modules,移以及sites/*/modules移除。其餘的模組,不管與Drupal 4 j; F% d7 l* e* a6 F7相不相容,都應保留在原處。

* ~& p- g9 f2 g! c1 b


10. 下載最新版的Drupal ) a4 |& Z- j/ W5 I7 h! d% ^7,解壓縮之後把裡面的檔案與目錄上傳到你的Drupal網站的相對應位置。

# E( W# l) n! `


11. 重新套用.htaccess或robots.txt

; f( \- \' m& m1 s! b. m


12. 將settings.php檔設為可寫入,讓更新過程當中能夠將它轉變成Drupal * E6 ]! m- c2 `4 p7.x 的設定檔,通常它的位置在:

+ \. R- v! C! G" N

 sites/default/settings.php

, S' C0 K7 j( t, V$ U8 M

〔初學者看這裡:一般在Linux主機裡這個檔案的權限為444,更改方式為:在FTP上傳介面上,在settings.php檔案上按滑鼠右鍵,選擇「檔案權限」,然後勾選「寫入」的權限,或者將下方「444」的數字改為666。但在完成升級之後記得把權限設定設回成444。〕 # a$ T3 r5 Z; }7 s- p- p) B

: b8 |3 z/ e# N$ j

↓ Linux主機上更改檔案權限方法,透過FTP軟體連上主機後在檔案上按滑鼠右鍵,選擇檔案權限 4 P, l2 a" R. a3 o, a

6 G* I4 r# l' B7 f

2 @/ |7 W' }* z2 ]* M

↓ 勾選"寫入",或把下方的444數值改成666

) c: m) t& `, T* x

- S# n1 f' }- K5 L/ I; M

 

1 c% P0 F# [ e

$ y9 N, r7 Q5 L. ]3 r- Q

13. ) P% k. m2 [" I/ z: `( [ d# M; X執行update.php進行資料庫表格更新,如果系統未自動出現該更新通知,請自行在網址後輸入/update.php(類似這樣http://www.example.com/update.php)。 ' k& a, H+ ^# g3 B" d$ ~2 E

& |" P. J4 U( M4 |

如果無法更新update.php,請依以下方式修改settings.php: ! C% u$ f4 ]* M. m4 D

( r2 v3 y2 x$ \$ o

以文字編輯器開啟settings.php :

+ A5 A; I# Y( U

找到以下的程式碼

' w. q7 [/ z* {% T$ J

 $update_free_access = FALSE;

# F6 ~2 ]8 t( f. f% Y5 H, D0 |# I

將上面的程式碼改成:

1 Q3 Z0 Q$ K: a9 E' L

 $update_free_access = TRUE;

; ?8 z, s& h G3 H& i

完成Drupal更新之後,記得把$update_free_access改回成FALSE 3 x, I' d! Q7 X, x+ u1 F

: a3 j& A% b8 V: c

14. 在核心程式更新之後,備份你的資料庫

k x: m, {8 k& b2 h

15. 上傳非核心的模組與版型,

4 M- T. ~; y& d9 p

16. 7 ? o' J- \" t5 I$ a! y& w 到「管理/報告/狀態報告」(admin/reports/status)確認升級是否成功

% q) G) z* g2 H. |2 c" c

17. $ _. M: @" ^& D4 w- e9 c確認settings.pho的$update_free_access改成FALSE值。

3 t% n) c! v* D5 T9 X# h4 |

18. 6 w3 A; c3 @$ ~6 V 到「管理/設定/開發/維護模式」(admin/reports/status)把網站狀態更改為「上線」(取消勾選「以離線模式運作」核取方塊)。 4 F3 N8 O7 A6 n1 _' M

2 i1 R0 M4 w5 X

5 V( t q6 q! S7 q

最後,不管做什麼樣的升級,過程當中如果遇到什麼錯誤訊息,記得將錯誤訊息完整記錄下來。 5 u! r% ]7 }% U' o

; P+ {9 K: c- T. ~7 W

而如果升級失敗,除了記錄當中的錯誤訊息之外,建議先利用備份,把網站回覆,再依所記錄的錯誤訊息,去社群尋找解決之道。  


声明:本文由型动视觉转载自IT黑傑克 谢谢原作者!

; \+ Y- W5 Z' h8 M! i: D, P

|2011-2026-版权声明|平台(网站)公约|手机版|手机版|DOOOOR 设计网 ( 吉ICP备2022003869号 )

GMT+8, 11-14-2025 00:04 , Processed in 0.192730 second(s), 123 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表