昨日の夜中に思いついて、ちょっと、MovableType3.2にアップグレードしてみるテストをした。まずは、テスト環境を作るわけです。面倒なので、mtディレクトリをコピーして、mt2とかそういう感じで。
mt-check.cgiで準備OKだったので、mt.cfg改め、mt-config.cgiを修正して、いざmt.cgiにブラウザからアクセス。ところが、
Got an error: Can't locate object method "new" via package "MT::L10N::ja"
とか、そんなエラーで起動しない。どうやら、MT::L10N::jaがMT::L10N::us_enを継承しているらしく、そのMT::L10N::us_enが存在しない。とか怒っているらしい。てか、そもそも、<mt>/lib/MT/L10N/us_en.pmってちゃんと存在するんだよ。
なんだろうなぁ。と、思いつつ、mt3ディレクトリに新規インストールしてみる。問題なく動く。しょうがないので、そこに、現在のmtのデータ部分をコピーして、mt.cgiの起動。
なんだよ。ちゃんとアップグレードできるじゃん……。検索したところ、2.66からのアップグレードからで同じ問題ではまっている人が多い。
ようするに、すでに存在するディレクトリに対してファイルを上書きするだけなので、非公式日本語パッチの時代から、ファイルの置き場所が変わったりしたモノがあって、それらが正しく上書きされないということなのだろう。
で、使っているプラグインをせっかくだから最新版を落としてきてインストール。ここまでは問題なし。
ところが、予想通り、自分が作っているmt-amazon.plがこける。というか、ひどく文字化けする。症状を見る限り、utf8フラグ問題。これ、前もはまったわけだけれど、この修正って、日本で使っている人にとっては、本当に頭が痛い問題だと思う。
しかも、他人が作ったモノを組み合わせて動かしている以上、受け取った値が、utf8フラグ付なのか、そうでないのか、調べてあげないとダメ。ってことだよな。そういう意味では、3.2にアップグレードするまではちゃんと動いているんだから、その環境では動く。そういうことなのだろう。
めんどうだなぁ。
コメント