印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableType 突然 Main Index の作成に失敗

昨日まで問題なく再構築できていたのに,今日になって突然再構築に失敗するようになった。テンプレートの変更は行っていない。原因は突き止めることができ再構築に成功するようにはなったが,納得がいかん。

■ ■ ■

今日アクセスしてみると,トラックバックが来ているのに(管理メニューに表示される),メインインデックスに反映が行われていない。不思議に思い,メインインデックスだけを再構築してみるとやはりエラーで失敗する。

Main Index の作成に失敗しました
Main Index の作成に失敗しました

An error occurred:

テンプレート 'Main Index' の作成に失敗しました:

昨日はトラックバックによって自動再構築に成功している。それから何も手を加えていないのに,今日はトラックバックとコメントによる自動再構築に失敗しているのである。遡ってみると,2月26日に行った変更から問題が発生していることが分かった。しかし,その後2月28日,3月2日にも変更を加えていて問題がなかったのだ。不思議なのは,この2回の変更ともに問題のコードを含んでいるということである。

問題の変更は,nlog(n): Wikipedia で見る今日は何の日? で追加したコードである。問題のある部分だけを抜き出すと,

$m = sprintf("%d", <$MTDate format="%m"$>);
$d = sprintf("%d", <$MTDate format="%d"$>);

これを次のように直すと,再構築が成功するようになった。

$m = sprintf("%d", '<$MTDate format="%m"$>');
$d = sprintf("%d", '<$MTDate format="%d"$>');

<$MTDate$> をシングルクォートで囲むことで解決した。ちなみに,メインインデックスの構築に失敗する場合,コメントやトラックバックの受け取りはできるが,通知メールは届かないことが分かった。

再構築に失敗する例としては,次のような場合が多い。

  • メインインデックス内に日付別アーカイブへのリンクがあるのに,日付別アーカイブを作っていない
    • 管理メニューの「アーカイブの設定」で「Daily」にチェックを入れることで解決する
  • カレンダーを別ファイルで作っている場合,月が変わると同時に再構築に失敗するようになる

今回のエラーはどちらでもない。中途半端に動作していたのだろうか…?

Posted by n at 2005-03-08 23:49 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?