October 18, 2004
mt-rssfeedが使えないサーバーがあった! [WEB]
国内の某レンタルサーバーにMovableType2.661をインストール。
文字化けもなく、何の問題もなさそうだった。
mt-rssfeedプラグインもインストールして、ファイルの書き出しも問題なくできた。
しかし
それからインデックスの再構築をすると
Big byte at /usr/local/apache/htdocs/bin/lib/MT/FileMgr/Local.pm line 140.
この表示が出て再構築ができない。
なんでだろう?なんでだろう?といろいろ検証してみたところ、mt-rssfeedが関係していることが分かった。
このプラグインを使ったRSSは別ファイルにしてインデックステンプレートに保存してある。
どうやらそのファイルだけが上書きできないようなのだ。
FTPでサーバーにアクセスして、そのファイルをサーバー上からいったん削除、そして再構築をかけるとOK!
しかしなんで?
いろいろなことを試行錯誤した。
mt-rebuildはcronを使わせてくれないので不可能、しかしできたとしても解決しないだろう。
ウェブで検索をかけて他のユーザーでも同様のトラブルがないか探してみたが日本語、英語サイトともに皆無。
以前ここのサーバーを使った際には全く問題なく動作していたのに。
こうなったらはじめからやり直すしかない、と再度MovableTypeをインストールし直してみた。
しかし結果は同じ、これはどう考えてもプログラム上の問題ではなさそうだ。
RSSは負荷が大きいとはいってもたかだか28kのファイルの上書きができないなんてどう考えても納得できない。
サーバー業者に連絡を取ってみたところ、なんとサーバー側の問題だった!
原因については現在調べているということだが、以前に使えた時とサーバーの仕様が変わっているとのこと。
原因がこちらにないことがわかっただけでも安心したけれど、mt-rssfeedが使えないブログなんて意味がないよ。
早いとこ使えるように対処してほしいと願っている。
さて前記の問題に関してサーバー業者から回答が返ってきた。
.../htdocs/bin/lib/MT/FileMgr/
上記に御座います「Local.pm」の140行目を以下のように編集して下さい。
[変更前]
return $ctx->digest ne Digest::MD5::md5($data);
[変更後]
#return $ctx->digest ne Digest::MD5::md5($data);
return $data;
これをすることで確かに問題はなくなった。
しかしこれがどういう意味をなすものなのかはプログラムに関する知識が乏しいオレとしてはわからない。





