モンスターカレンダー

« 2011年2月 »
12345678910111213141516171819202122232425262728

mt-rebuildを意地でも使う

Movable Typeのサイトをバックグラウンドで再構築出来るmt-rebuildというものがあります。

作られたのがずいぶん前のようで(Ver3時代?)その後手直しされていない模様face_embarrassed

今(Ver5.0)まで特に不自由なく使い続けることが出来ていたので、普通に使っていたんですが、ふと先日思い立ってカスタムフィールドを使い始めてみたら動かなくなったface_shout

こいつは何かあるんだろうなぁ~とググりまくって調べてみたら同じような症状で悩んだあげく諦めモードの人も多いよう??

 

まぁ私のように意地でも使いたいと言う人が少ないだけなのでしょうがface_expressionless

当初はmt-rebuildを諦めてrebuild-pagesを使おうかと思ったんですが、Perlのモジュールが正常に読み込めまへん・・・と怒られてしまいましたface_surprised

共有型のレンタルサーバなので追加するわけにも行かず・・・face_shock

 

と言うわけで意地でもやろうとチャレンジしてみましたmark_ecstoramation

全ては確認してないですが、問題はここ↓

$mt->rebuild( BlogID => $blog_id, NoIndexes => $no_indexes )

Movable Typeのリファレンスを読む限り5.0で仕様が変わって使えないと言うわけじゃないのは確かそう。

さてどうしたものかと悩んで調べまわるとこんな記事発見

なるほど・・・一回初期化しないといけないのか

と言うわけで、mt-rebuild.plをこんな風に変更↓

befor

80 } elsif ( $mode eq 'all' ) {
81     $mt->rebuild( BlogID => $blog_id, NoIndexes => $no_indexes )
82       || die "Rebuild error: ", $mt->errstr;

after

80 } elsif ( $mode eq 'all' ) {
81    $mt->run_callbacks('init_app', $mt);
82    $mt->rebuild( BlogID => $blog->id,  NoIndexes => $no_indexes )
83       || die "Rebuild error: ", $mt->errstr;

要するに$mt->rebuild系の処理の前で$mt->run_callbacksをしてinit_appしてあげれば良いみたい。

とりあえず、それっぽく解決出来て良かったface_smile

 

ちなみにmt-rebuildに関してはここ↓がわかりやすいです。

Movable Type 備忘録 - http://bizcaz.com/archives/2006/08/09-221138.php

トラックバック(0)

トラックバックURL: https://mt.schwarzekatz.net/mt-tb.cgi/13207

コメントする

MTBlog50c3BetaInner

このブログ記事について

このページは、よしお@やおライダーが2011年2月18日 17:40に書いたブログ記事です。

ひとつ前のブログ記事は「喜嶋先生の静かな世界」です。

次のブログ記事は「ideapadが・・・」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Links

カテゴリ

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。
MovableType(MT)テンプレート 無料(フリー)
Powered by Movable Type 6.8.8
OpenID対応しています OpenIDについて

つぶやき

オススメ