昨天開始準備進行Drupal的升級工作,當天就查看了大量資料,下載了最新的版本,将幾個沒有實際内容的網站進行了升級,有從6.20升級到6.24的,也有一步從6.20升級到7.12的,還有分步從6.20升級到6.24再到7.12的,因為很少涉及第三方模塊,内容也極簡單,所以算是比較順利,也積累了一點經驗,增強了升級其他正在投入使用網站的信心。
今天首先就拿我的這個個人網站開刀,上午先把6.20下的各種第三方模塊升級到最新版本,然後再将核心升級到6.24,還算是比較順利,網站的外觀、功能都變化不大,極少報錯提示。
不過再升級到7.12就不是很順利了,從中午之前就遇到數據庫連接問題,到下午5點左右才基本升級完成,可以恢複訪問,用了大半天的時間,并且還有少量問題沒有完全解決,等待後續繼續。
遇到的一些問題記錄如下,供以後升級其它網站參考:
- 前一天安裝Drupal 7的時候就遇到數據庫連接報錯,需要安裝pdo_mysql.so,并修改php.ini,重啟Apache;
- 升級的時候,試圖将Drupal 7的root/default/default.settings.php複制到settings.php并修改數據庫連接參數,但一直報錯,後來将Drupal 6的root/default/settings.php複制到Drupal 7的對應目錄中,并修改為可讀寫,讓Drupal 7升級的時候自己修改這個settings.php文件;
- Drupal 7的root/default下如果沒有複制Drupal 6中的root/default/files目錄或者沒有新建這個目錄并賦予讀寫權限的話,升級中會報臨時文件目錄錯,并導緻css無法生成,頁面變形;
- Drupal 6中的drupal_set_html_head函數在Drupal 7中變成了drupal_add_html_head,後面的參數也與以前不同,需要在數據庫中直接修改block中的相應内容,否則頁面都報錯,如果在模闆等其它地方也調用了該函數的話,都需要修改;
- 新安裝Global Redirect 7.x-1.4後,網站無法打開,顯示頁面重定向次數過多,url成了“http://jamesqi.com/zh-hans/zh-hans/zh-hans/zh-hans/zh-hans/zh-hans/......zh-hans/首頁”這樣的,改用7.x-1.x-dev版本後此問題解決;
- ckeditor的升級報錯,原因是目前無法升級,隻有重新安裝,需要在數據庫中先删除原來的ckeditor安裝留下的兩個表以及system表中的一個帶有ckeditor字樣的記錄,然後重新安裝ckeditor;
- Drupal 7中自帶的cron管理比較好,以前linux下crontab -e加入的cron運行代碼已經無效,需要去修改禁止掉;
- Drupal 7中不需要再修改garland.info和page.tpl.php來添加bottom, top兩個block,直接在現在的block管理中“内容”-“主頁内容”上下加block就可以實現;
- 新版Transliteration模塊中帶的拼音數據依然有錯,需要複制以前的data目錄中修改過的文件來糾正;
- Drupal 7中自帶有image等模塊,但為了實現所見即所得的編輯器以及圖片上傳顯示的功能,第三方模塊wysiwyg, ckeditor, imce, imce wysiwyg bridge這幾個還是需要另外安裝(注:後來證實wysiwyg和imce wysiwyg bridge可以不裝,隻需要ckeditor和imce兩個模塊加一個ckeditor庫就可以了);
- Drupal 7中的Boost模塊現在還是7.x-1.x-dev,設置比較簡單,沒有Drupal 6中的細緻,也沒有在block中找到flush cache的boost cache status那個block,還有.htaccess也需要重新生成、修改保存;
- pathauto模塊升級後,token的内容和格式都變動了,需要重新設置;
- IP地址來源顯示192.168.0.133内網IP,這是以前就存在的問題,通過修改settings.php中相關設置可以解決,估計升級前也可以這樣解決;
- 估計還有一些沒有發現的問題,逐步來找、解決、記錄。
結論:從Drupal 6.20或者6.22升級到6.24的update過程比較簡單,不太會出現大的問題,這個小版本更新後面可以都進行;而從Drupal 6到Drupal7的upgrade過程比較複雜,特别是帶有第三方模塊、自己調用函數的變化時,可能導緻一些報錯,大數據量的關鍵網站暫時不宜進行大版本升級。
评论