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

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

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

[复制链接]
发表于 11-30-2011 06:26 | 显示全部楼层 |阅读模式
目前最成熟與使用最普級的Drupal版本當屬Drupal 6。2011年初Drupal ' ], H' |1 b% I- k8 \7雖已正式釋出,但對於Drupal 6使用者來說是否已經可以升級上去?該怎麼升級? / s1 |6 }. i8 N. g! d0 D

 >> Drupal核心程式下載

6 k# c9 k& |( L

 >> Drupal 7釋出的報導

+ E2 F1 W1 ?2 c9 g) i( l9 O, |! D, q7 R

根據Drupal.org的官方說法,Drupal 9 Z; `/ J" R5 ?8 }' k4 T 7效能更好,使用介面更友善,而且也整合了更多的功能。像是在Drupal 6中使用很普及的CCK,以及圖片上傳介面等。

0 P: e+ J# k" Q6 P$ o4 x( {

( ^- R4 k2 ?% f& G. T

△ 圖說:Drupal ) E9 N# v. w a7管理介面改成Overlay(堆疊)的設計,與Drupal 6有很大的不同。

5 m% T& o! K& {

7 `3 t# m$ ]/ z6 y' Q7 L; q

無論如何,技術這東西都是往前看的,所以如果你現在要架一個新的網站,而且選擇要使用Drupal了,除非你要開發或在使用某種功能,這個功能的相關模組完全不知何時才會從Drupal ) N" |! D L5 p1 L 6移植到Drupal 7,否則在版本選擇上還是以Drupal 7為優先考量──但你要有Drupal 7的模組選擇還較為缺乏的心理準備。 3 o' f P: v: t8 J" U% b: Z& H

$ o l! N$ n3 [$ P

但如果你目前的網站是以Drupal 7 }4 s3 J0 x& L) h" W' v7 W6所架設,那麼是否能夠升級到Drupal 7呢?這就要非常謹慎了。

# b! O6 u7 x1 U1 M


Drupal小升級〔 主要版本內升級〕 1 r+ w+ a6 q$ Z8 ?# Z

7 F* [# M! c0 U+ ]- F

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

. @, o5 l# X8 K& L: R

小升級指的是,例如Drupal 6.17升級到Drupal & M( _6 z# i' D- P 6.20,也就是在主要版本內的升級──其實這有點類似軟體更新而已。

s4 K5 s4 l- E, T1 ^- ]

目前Drupal的「主要版本」在使用中的有Drupal 5.x,Drupal - e3 E5 T4 Q) w7 K$ A6.x,以及Drupal 7.x;其中Drupal 6算是最成熟,模組最為完整與多樣,使用也最普遍的主要版本。而最舊的Drupal ( \: i7 |* H' ?2 ~5 V5,在官網的Drupal核心下載裡已看不到,如果你是要新架網站,完全不建議使用Drupal 5。

1 Q& x# B) L2 z2 X5 P

Drupal 6現在最新的版本就是Drupal ' ?; {2 }+ D& r7 H 6.20。如果你要從前一版本(例如6.17)升級到Drupal 6.20,相當簡單。

V7 ]& U. Y3 h7 ?: E+ g

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

: F& Q# E5 j0 L
4 c: o' h1 u& ^9 O, {) n5 z% }$ g0 X

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

- J5 I; z+ H2 {: W1 K% |+ h6 i

2. $ y S, h3 n# N5 w- B" a3 G1 p. J做好網站備份-包含所有的網站目錄與檔案,以及資料庫。這是做任何網站升級之前一定要做的,以免升級過程當中,和結果有什麼不測,才可以藉由備份檔挽回。 ' j: x& I8 N0 D4 \& u

; {! Z/ F& i2 v! g

3. $ E v% i3 I; g2 i; N2 W2 p0 z下載最新版核心程式,解壓縮之後,再把全部的檔案上傳到網站的對應位置去,把舊檔覆蓋掉即可。

3 v& G5 E o( X& O% k

如果你是屬於小心謹慎型的人,那麼這是官方建議的標準升級程序: 5 V' J) r2 g' } T7 B

( F2 V$ I9 w c. Z
4 O8 e; Z+ a/ i$ N

1. 以具有管理員身份的帳號登入你的Drupal網站〔最好用天字一號的使用者帳號〕 5 {5 d) b8 N" v; y

F9 r" n( U! z, K2 E2 i

2. * n6 {7 ^8 M2 J$ q到「管理/網站設定/網站維護」(/admin/settings/site-maintenance)將網站狀態設定為「離線」

7 x6 U9 h8 C8 Y8 E8 c9 @2 n3 Z" s

3. 2 Z, \0 ^ B) i$ Z, j% B 保留sites目錄以及你自己所建的資料,其餘網站目錄內所有的核心程式檔案全部移除。如果你有修改.htaccess或robots.txt等檔案,或是settings.php,記得在完成安裝之後重新套用之前備份的設定。 9 R. _4 V9 C- D: \

3 `# ~# L: Z2 o/ E

4. 下載最新的Drupal , b$ `1 n! o3 z* S% I$ j" T 核心程式版本,解壓縮之後上傳到你的Drupal網站的相對應目錄裡。

7 K! r- T+ d0 e0 O7 e3 ?

5. 必要時重新套用你的一些網站設定,如.htaccess或robots.txt。 $ x m; |6 V; a% d; Y

9 S; p; R3 V8 A6 P0 n0 C

6. 6 d8 i. S# s9 H2 n( A8 {& q執行updaet.php資料庫表格更新。如果網站未自動出現這個更新要求,可以在你的網站網址後面輸入/update.php

. w$ Q7 o( k7 e& \- U& o& I

(類似這樣:http://www.example.com/update.php)。 $ ~& N* y0 k) l! L- C

0 Y8 j* ?# C5 {) u

如果無法執行update.php,打開setting.php進行設定的修改: - h, o$ r4 D/ d$ n! T) ~

: g B, V& @& R4 f y' \6 ^9 x

將以下程式碼

: Y2 ^( m- z6 j n( Y4 l

 $update_free_access = FALSE;

# M; f" }: O% O

改成:

: X) d' }' q# s1 b

 $update_free_access = TRUE; ' Q }6 N- S) o/ L3 C$ R/ \

* H- D1 a6 c. j6 t4 c& r; n

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

% [( u" V! D" m3 T# Z6 s) E

7. - W* b* r( }# G; T% K* f到網站狀態報告網頁(/admin/reports/status)確認一切正常,升級後沒有任何問題。

! L$ p0 C4 }' F o, w

8. 9 R5 i8 @- C, [' t5 d確認settings.php檔案內的$update_free_access的設定值為FALSE。

8 K: @, P) m; E$ d, d

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

) S6 y2 @" S& w* V


Drupal * @" L, P& e7 ^( U" a6升級到Drupal 7

7 d$ o% S" _3 u& J$ e8 S0 R2 D: [: h; G

如果你的網站代管在有CPanel的ISP那裡,那麼不管大小升級,升級過程可能相當簡單,只需按幾個下一步就完成,完全不需這裡的說明方法,但既使你有Cpanel,網站該不該升級,能不能升級,還是必需先經過評估。  4 r/ A4 x( |5 Q# F/ N/ v2 d# [( \

. }4 n9 c# t6 q- f1 ]' Z0 @

特別是主要版本之間的升級不是把核心程式升級上去就可以了,更大的問題會是你在Drupal 4 X( n8 Q. l0 d6上的模組/功能Drupal 7已準備好了嗎?

# y+ r7 K1 H/ z

例如,先前我的升級評估中就發現,我的Drupal / c5 K; b, @- f' t/ R1 t- }6網站中所使用的重要模組Gmap,都還未移植到Drupal 7。而在Drupal ! [ f# ] X# n. R2 r$ a 7釋出之後的這一個多月中也接觸與使用過很多模組及版型,也發現到尚未從Drupal 6移植到Drupal 7的情況相當普遍。

, f* {# P0 M5 a6 G

所以,以目前的時間點來說,在做升級決定之前,對於模組與功能問題,一定要做好謹慎的評估與測試--如果你需要的模組還未移植,是否有解決方案?就算已移植過去了,是否有相容性及執行上的問題 " T# P* b7 L* h) x) K

% D0 j* M" ]. m9 E% G

也因此,在以下所整理的官方升級文件中未說明的是,商業性的網站,強烈建議,先在測試網站進行測試運作,確定可行之後再進行升級。 9 [) A& m, ~; w B" c; u# K 〔我記得先前有看過一份說明如何做測試的官方文件,一時之間找不到,找到之後會在此提供連結〕

" E& ?" e) @4 y

由於我的Drupal 6網站有許多模組在Drupal 6 w; m2 w( w* | y6 n 7中都沒有解決方案,所以我目前並沒有將它升級到Drupal 7,也就暫時沒有樣本可以step by 0 c5 d! C; H) u$ R1 G. g) gstep跟看倌介紹升級過程。退而求其次,我將官方的升級文件整理如下,以供有升級需要的朋友做為參考(相關文件可在Drupal ! f1 y: X) W" B: I" T7核心程式中找到UPGRADE.txt檔):

$ B. n m- V/ U: G1 q
# c7 X! Q* _! G; t) I! u


1. 檢查你所使用的模組及版型(themes)是否已移植到Drupal 7。 9 G( H/ ]4 ^7 @ X

: ^; t9 R% \/ s' r7 ^

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

' K9 X0 ^& }) w1 F. ^

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

; _& Y* H, H' p* m, p

>> 貢獻的版型檢查參考這裡 D- L$ `# p( W& S' i

, Z5 Y' Y- t! W. `! H4 j

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

( E% F0 m0 T; q- n1 I7 I

>> 還有這裡

& T3 Y0 \8 u: j6 n

〔黑傑克註:檢查完之後,如果你所用的模組與版型Drupal " S1 [' Q# V8 K) Z4 j, }5 X7還沒準備好,那麼大概就註定你暫時不能升級到Drupal 7 J) w' S/ C, R# h7 w% A; t6 Q+ W7,以下程序就不用再看;若確定可以升級,要謹慎安全起見,那麼建議先在原網站下開一個子目錄安裝Drupal 7進行測試,沒問題再進行升級。〕 . M$ S+ [% G c3 V* G

0 ]! r. X# R. |2 M" I' K

: F, p! y5 ?8 k' p7 {1 a2 V% R" z

△ 圖說:從Drupal 6升級到Drupal % o& ^' F$ `/ Z$ y9 t+ ^ 7的主要問題都圍繞在模組上,升級之前的評估裡,要先確認你所需的模組Drupal {1 m% q$ d) U/ r! ^ 7都已準備好;而在升級過程當中,必需先關閉核心模組之外的其他安裝模組,圖中模組為核模組

! q& n" r# x/ n0 W9 R8 B% } Z8 n


2. 更新到最新的Drupal 6.x版本。如果你是Drupal / ?& m' L" A# D& \5.x使用者,那麼必需先升級到Drupal 6.x。

2 A! n1 B6 D- g


3. 以天字第一號使用者(ID 1)身份登入網站。〔就是當初架站安裝Drupal那個帳號〕 3 n! } H# t- a7 n

0 s4 O8 o! d% Q, G3 N5 S


4. - B1 \4 [! |: M v* G& p3 _( {8 T5 ~ 到「管理/網站設定/網站維護」(/admin/settings/site-maintenance)將網站狀態設定為「離線」,然後儲存設定。 # j4 p6 B6 O3 F

# G" v& @8 Z$ K

! q# N- v! l- M


5. 0 ^5 N6 B) `: W) F' z9 s 到「管理/網站建置/版型」(admin/build/themes),將預設版型設回Garland。

- u5 g5 g$ C" B" Q& z

' V0 Y) O3 Z. R) r

# L" a: c2 Z; W$ \9 N k


6. 6 f& k& ]1 e5 f5 f( ~0 b到「管理/網站建置/模組」(admin/build/modules)將「核心」類以外的模組,全部關閉。〔由於模組與模組間有依存關係,所以可能重覆操作很多次才能夠將所有非核心模組都關閉〕 + }# H; p4 `( f) \/ z0 e3 C/ B

1 J0 Y0 c, b, Q1 Q

如果有些模組是你不會在Drupal 7 X/ z# m6 @& R5 P3 s* B7中用到的,而且相關資料你也不會再使用,那麼可以將此模組移除。

" s- {0 B0 o3 g


7. 移除網站中的sites/default/default.settings.php檔案 6 ]% {1 D7 U: }1 r7 Q- L2 c

) }7 G& \+ ?% A) n& U Y6 G


8. % }4 }/ _' L) ^4 k9 A3 f$ `除了sites目錄,以及你自己加入的檔案與資料匣保留之外,所有的核心程式檔案與資料匣全數移除。

( O- c5 @( q& a6 j, w4 ~ [+ [# `

如果你修改了.htaccess或robots.txt等檔案,記得在升級完成時重新從備份檔中重新套用舊的設定。 0 {' K! |$ ]0 L) b/ M

( C# v4 z+ B2 S3 w


9. - {( x! I! M1 Z$ k- K如果要移除任何的模組,請從sites/all/modules,移以及sites/*/modules移除。其餘的模組,不管與Drupal 6 }/ @7 U6 H- u& u- e3 Z7相不相容,都應保留在原處。

; m& ]6 {) A6 \1 A6 `+ u& s


10. 下載最新版的Drupal ( ?" x0 m3 B7 n8 D) @' F1 G 7,解壓縮之後把裡面的檔案與目錄上傳到你的Drupal網站的相對應位置。

3 K7 i8 A- P1 g+ q9 Q


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

5 J7 k* ?9 ~* o+ w: {& t


12. 將settings.php檔設為可寫入,讓更新過程當中能夠將它轉變成Drupal / ?8 T$ n( m, q; |, @ 7.x 的設定檔,通常它的位置在:

3 J+ Q# o' c% V; U

 sites/default/settings.php

T% e2 G& T4 V. G3 A4 e K; S. z

〔初學者看這裡:一般在Linux主機裡這個檔案的權限為444,更改方式為:在FTP上傳介面上,在settings.php檔案上按滑鼠右鍵,選擇「檔案權限」,然後勾選「寫入」的權限,或者將下方「444」的數字改為666。但在完成升級之後記得把權限設定設回成444。〕 0 N. W6 d0 @+ ~% R2 A# D0 e' {

! u8 ^! I+ S9 @- G8 d h

↓ Linux主機上更改檔案權限方法,透過FTP軟體連上主機後在檔案上按滑鼠右鍵,選擇檔案權限 1 s" j, T+ ~1 w) n8 c

6 i! b9 y2 }9 Q

@ e2 F& F# y: o

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

( S3 i) q+ Q3 T1 s

% `( {9 }/ S7 V2 g) V% ]2 I

 

' p: v0 h7 X6 P4 e4 ^

5 A, o$ J8 I6 Y2 B- Q6 s8 I

13. & q7 F0 }8 d5 ^執行update.php進行資料庫表格更新,如果系統未自動出現該更新通知,請自行在網址後輸入/update.php(類似這樣http://www.example.com/update.php)。 , _% E, {# t" u) X

( F* v- d- q! z* Y2 Z: j6 W

如果無法更新update.php,請依以下方式修改settings.php: A4 o7 C2 o0 b H" H: v. v3 m: R

% c3 R/ M% E8 L- }2 y5 O, W; Y

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

4 j9 e4 A6 Q* ^% k- n5 {7 T

找到以下的程式碼

% w% v M3 |! `4 N9 u

 $update_free_access = FALSE;

' m; v. ~: g' D

將上面的程式碼改成:

" g4 b c( K% @4 ?! g

 $update_free_access = TRUE;

% m* ?9 [( w7 J R5 a9 L& M9 l6 T( i

完成Drupal更新之後,記得把$update_free_access改回成FALSE 4 [. I. [2 c8 ^ Q9 t! _& v" R* G0 {

- ?! V) c9 Y1 P3 n6 d4 e6 q$ ]9 O/ i

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

, `% D" c3 g; G& }

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

: G% n( I, e! p0 [! |. t _

16. : x& h& q% f6 P: U9 i+ n到「管理/報告/狀態報告」(admin/reports/status)確認升級是否成功

4 D# B7 u+ I7 o

17. ' S5 k5 r: f, O) k' d4 V 確認settings.pho的$update_free_access改成FALSE值。

6 A7 w$ j G7 B9 \. x8 X( k( Q% ] f

18. 3 g9 V' z" |( p6 @$ t3 {到「管理/設定/開發/維護模式」(admin/reports/status)把網站狀態更改為「上線」(取消勾選「以離線模式運作」核取方塊)。 8 o% y* b7 R. k8 G

4 j+ ^5 K4 t' `( ^$ Z% X

! Q6 k. E! `4 }' u& W& W

最後,不管做什麼樣的升級,過程當中如果遇到什麼錯誤訊息,記得將錯誤訊息完整記錄下來。 ; @$ Y) z2 s/ d3 F# N

( h ~6 E5 z2 I7 s8 I

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


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

3 ?0 o: r! W- [$ _, D/ d

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

GMT+8, 12-18-2025 04:13 , Processed in 0.233252 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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