2011/07/27

修復 rt 3.8.7

前幾天手癢,更新 centos 5.4 (yum upgrade)

之後 rt3 就死了

症狀是,打開 rt3 的網址後,畫面一片空白

完全沒有交待死因 (我想比個中指  凸= =)



既然沒有 log 可以查,只好自己想辦法~

依稀記得,按下 yum upgrade 的時候好像有瞄到 perl (更新前瞄一下是我的習慣)

應該和 rt3 有關~

登入 cpan 介面,看到 cpan 太舊的訊息 (原 1.7 新 1.9)

想說既然 perl 爛掉了~乾脆給它更新好了

話雖如此,在 cpan 裡更新 cpan 一點都不順利

cpan> install Bundle::CPAN

總是會遇到某幾個套件 make test failured ,沒辦法繼續的錯誤訊息
(本例是 Test::More / Test::Hardness 這兩個混帳)

爬文之後在對岸論譠發現一行救命的指令 (感謝阿六)

root# perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)'

再來就是泡茶等 cpan 昇級完~     **茶**

順利昇級 cpan 完成,本以為 rt3 就這樣修好了~ ~ 結果當然是沒有

這次用關鍵字 rt3 blankpage 爬文,完全沒有可用資訊

只好硬上

爬自己之前的文,把 rt3 的資料庫 (mysql5) 備份後,重新安裝 rt3

依文件做 make 三部曲 (變調版)

做到 make testdeps

發現少了一~~~~~~大堆的 perl 套件~~ (可能和昇級 cpan 或 yum 有關吧)

沒關係,用 make fixdeps 讓 perl 自己去解決~ (繼續喝茶)

套件相依性全部排除後,開始重裝 rt3

做到它要我 make initilize database 的部份就跳過了~ (原有的 DB 沒有 drop)

再回去開 rt3

法克!變成 you're almost there (我 OS: yes ! yes ! I'm cuming !!)

再把 rt3 you're almost there 丟給孤狗,吐出一篇文章

提示我少裝了兩個 perl 模組
Apache2::compat
Apache::DBI

安裝好 rt3 似乎 正常了~

奇怪的是,上面兩個如果是必要的模組,那前面 make testdps 應該要警告我有缺少的套件才對~

推測也許是 rt3 release 時還沒有 cpan 1.9
cpan 1.9 + rt3 則需依賴兩個新的套件 ~ (純推測)


雖然沒力了~ 基於無聊,還是把 rt3 交給 lighttpd (而不是 apache) 去執行

看看 lighttpd 是不是真的會快很多
(不過那是另一篇文章的事了)


update:
點選某些功能會有一個錯誤訊息:
Use of qw(...) as parentheses is deprecated at SelectChartType
經了解應該是 SelectChartType 所使用的 qw() function 呼叫方法不同
修改 SelectChartType:
找到 53 行,把
qw() 改成 (qw()) 
就可以了

沒有留言: