スポンサーサイト

2013.09.14 Saturday by スポンサードリンク|-|-|-

一定期間更新がないため広告を表示しています

MT復旧!再構築エラーの原因は・・・

2005.07.27 Wednesday 06:07 by abetomoMovableType|-|-


MySQL移行失敗、そしてMT再構築エラー」の続き。



データ量を減らそうと思って、いったんインポートした記事を100件ほど削除したところ、次のようなエラーが出て再構築ができなくなってしまった。




Can't use an undefined value as a SCALAR reference at lib/MT/Template/Context.pm line 780




この Context.pm というのがperlのファイルだということはすぐ分かった。だけど、何を直したら良いのかが分からない。



そこで、同僚のエンジニアさんに聞いてみた。すると、エラーそのものの意味は分からないが、記事を削除したことで該当記事が0になったカテゴリがあって、それがエラーを起こしているのでは?とのこと。



なので、まずはテンプレートからサイドメニューのカテゴリの記述を抜いて、再構築してみたらどうか、というアドバイスをもらった。



なるほど。そういえばデータベースの移行に失敗したのはカテゴリ絡みのエラーらしいし、確かにカテゴリがくさい気がしてきた。



ということで、さっそく全てのテンプレートからサイドメニューの「最近の記事」「最近のコメント」「カテゴリ」のリストを外した。それから、カテゴリ設定ページで「エントリー」が0になっているカテゴリを全て削除した。ついでにサブカテゴリもなくしておいた(後のMySQL移行のため)。



そしたら、難なく再構築できてしまった。おぉ、やっぱりカテゴリのせいだったのか?エンジニアさんのご指摘はビンゴだったのだ。お礼に“イケメン・エンジニア”の称号をあげよう!(いらない)



さらに原因を突き止めるため、外したリストを1つずつテンプレートに戻して再構築してみることに。すると「カテゴリ」だけでなく、「最近のコメント」のリストがあるときもエラーが出ることが分かった。



カテゴリはともかく、なんでコメントまで??



なんだかよく分からないが、とりあえず考えられるのは、カテゴリやコメントを呼び出す記述が間違っているということ。そこでまずはカテゴリの記述をよーく見てみると・・・あらら?



<$MTCategoryLabel$>となるはずのところが、なぜか<MTCategoryLabel>になっていた。



たぶんコレが原因だろう。でもなんで「$」が抜けているのかよく分からないが・・・。たぶん、どこかからコピペしたときに間違っていたんだろう。(だとしたら、よく今までエラーが起きなかったなあ)



ということで、「$」を追加してテンプレートを再構築してみた。問題なく完了。ブログのメインページのサイドメニューにもカテゴリリストが表示されている。やった!



次に、コメントの記述も「$」が抜けてるんじゃないかと思ってよく見たけど、こっちは特に間違ってはいない模様。じゃあなんで?と思った瞬間、あることに気がついた。



そういえば、記事自体は削除されているのに、その記事についたコメントが1件だけ取り残されていたのだ。そうか、きっとこれに違いない!



そのコメントを削除して、サイドメニューに「コメント」リストを追加して再構築すると・・・成功!



というわけで、今回の再構築エラーの原因をまとめると、



  • 過去記事を削除したことで、該当記事が0になったカテゴリがあった。

  • サイドメニューのカテゴリリストの記述が間違っていた。

  • 該当記事が削除されているのに、コメントだけが残っていた。



ということになるかと。でもカテゴリが0になったことでエラーを起こすんだったら、親階層のカテゴリは敢えて0件にする使い方もあるだろうから、それもエラーを起こすことになるんだろうか?とちょっと腑に落ちないけど・・・。



ともかく、これでMTを最初からインストールする手間は省けた。バンザイ!



この後またMySQLへの移行に挑戦したんだけど、長くなったのでまた今度。



このエントリーは

投稿クライアントの「BlogWrite」

により投稿されました。

スポンサーサイト

2013.09.14 Saturday 06:07 by スポンサードリンク|-|-|-


profile

最近の記事

写真たち

abetomo
携帯百景 - abetomo
www.flickr.com

息子の本棚

カテゴリ

アーカイブ

最近のコメント

  • はじめての運動会
    sea
  • 育児の悩み:トイレトレーニング編
    Horka
  • ナナン、落ちる
    sea
  • 明日は入園式
    abetomo
  • 息子、突発性発疹にかかる
    突発性発疹.com
  • 1歳になりました
    abetomo
  • 1歳になりました
    abetomo
  • 生後10ヶ月
    abetomo
  • 怒涛のように過ぎた8月
    abetomo
  • 怒涛のように過ぎた8月
    abetomo

リンク

search this site.

others

sponsored links

powered

無料ブログ作成サービス JUGEM