- ベストアンサー
Movable Type4.01-ja 内部サーバーエラーの解決方法
- Movable Type4.01-jaを使用している際に発生するInternal Server Error 500の解決方法について教えてください。
- 新しいエントリーを作成する際に写真をアップロードすると再構築後にInternal Server Error 500が発生し、エントリーの投稿ができなくなる症状が発生しています。
- 写真のアップロード後にエントリーを投稿する際は、一度写真を削除してから行うと正常に動くことが分かっていますが、原因や解決策を知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。えらく複雑なエラーですね。 補足お願いします。 >質問 テンプレート・設定が全て初期状態でも出るエラーですか? 3xからのアップグレードですか? mt-check.cgiで問題はなかった? mt-config.cgiはmt-wizard.cgiで作ったのか、3xのものを流用したのか、mt-config.originalを修正したのか。 mtディレクトリの上書きは、一旦ディレクトリの中をまっ更にしてからの再UPなのか、ただ単に上書きなのか。 >解決策? 試しに、ブログを一つ追加して、設定・テンプレート全て初期状態(一切いじらない)で画像付エントリーを投稿してみては? その時の動作・エラーが知りたいです。
その他の回答 (1)
- CHI-512
- ベストアンサー率69% (63/91)
こんにちは。No.1です。 MT4の画像アップロード機能を使用して画像をアップロードすると、画像には【mt:asset-id】が付けられ、<MTAssets>関連タグで検索や一覧表示等が可能です。 画像の入ったエントリーのソースを見てください。 この機能のため、エントリー投稿画面での画像ソースは<form mt:asset-id="数字">~</form>となり、エントリーページでのソースは<span mt:asset-id="数字">~</span>となっていると思います。 で、考察するに、ほぼ間違いなく、このMTAssets関連が原因です。 最初に質問を読んだ時にMTAssetsかな?とは思ったのですが、 インデックス構築にエラーが出ると聞いて確信しました。 MT4はメインインデックス(インデックスページ)にのみ、 サイドバーに<MTAssets>~</MTAssets>を使用した“Photos”という画像一覧が表示されます。 つまり、MTAssets関連がバグっているので、MTAssetsを使用しているインデックスの再構築にエラーが出る。 しかし、MTAssetsを使用していないその他のアーカイブの再構築にはエラーが出ない。 エントリー投稿時は、問答無用でインデックスも再構築されますから、エラーが出る。 という構図になっているのだと思います。 >本当にMTAssetsなのか? モジュールテンプレートの【サイドバー(3カラム)】及び【サイドバー(2カラム)】から、 MTIf name="main_index"> <MTIfNonZero tag="AssetCount"> <MTAssets type="image" lastn="10"> <MTAssetsHeader> <div class="widget-assets widget"> <h3 class="widget-header">Photos</h3> <div class="widget-content"> <ul class="widget-list"></MTAssetsHeader> <li class="item"><a class="asset-image" href="<$MTAssetURL$>"><img src="<$MTAssetThumbnailURL height="70"$>" class="asset-img-thumb" alt="<$MTAssetLabel$>" title="<$MTAssetLabel$>" /></a></li> <MTAssetsFooter></ul> </div> </div> </MTAssetsFooter> </MTAssets> </MTIfNonZero> </MTIf> 上記ソースを探し出し削除して下さい。 これで再構築すると、恐らく、インデックスの再構築にもエラーが出ないはず。 >原因究明 難しいですね。 考えられる可能性は、MTAssets関連で使用するMTファイルのインストールミスによるファイル欠陥もしくはゼロバイトファイルの存在です。 私の経験談なんですが、以前MTを構築し、数ヶ月間全くエラーなし。 その後、エントリー投稿画面に関するプラグインを入れたらエラー。 当然プラグイン側の不具合を疑ったら、結局MTフォルダ中の1ファイルがゼロバイト(インストールミス)だったために起きたエラーでした。 それまでどうして普通に動いていたの?と首を傾げたくなる出来事でした。 インストールミスなら、MTフォルダ内の点検でインストールミスが見つかるはず。 これなら修正可能ですが、サーバーの問題になると……う~~ん駄目かも? “本当にMTAssetsなのか?”で書いたソース削除をすれば、通常通り記事が書けます(多分)が、MTAssets関連のタグが使えなくなってしまいます。 ちょっと勿体ないですね。 最善策が見つかればいいですね。 参考になれば幸いです。
お礼
>CHI-512さん ありがとうございます。どんぴしゃりで当たりでした。Assets関連のテンプレートタグを削除したところ、すべて正常に起動しました。アドバイスどうもありがとうございます。 Assetsタグは新機能らしく使えないのは残念ですが、MT3時代のものと考えれば充分活用できるので、しばらくこの方法でやってみます。 そして、 これはやっぱりバグでしょうか? http://www.sixapart.jp/movabletype/feedback.html で、何度か「これはバグなんじゃないか?」ということを問い合わせてみましたが、流石にPerlのソースなんかを見てきちんと説明することができないので、「そのような報告は受けておりません。」と突っぱねられました…(汗) もう一度丁寧に説明して報告してみようと思います。
補足
回答ありがとうございます。CHI-512さんの質問にお答えします。 >テンプレート・設定が全て初期状態でも出るエラーですか? 残念ながらYesです。まっさらなテンプレートで全く同じ症状です。。。(汗) >3xからのアップグレードですか? アップグレードではありません。MT4からはじめて(つい数ヶ月前にはじめて)MT4.01-jaや最新版のMT-4.1.01-jaも試したのですが同じ結果でした。 >mt-check.cgiで問題はなかった? DBD::SQLite,DBD::SQLite2,IO::Uncompress::Gunzip,IO::Compress::Gzipはインストールされていませんが、チェックでは問題はありません。データベースはMySQLを使用しています。 >mt-config.cgiはmt-wizard.cgiで作ったのか、3xのものを流用したのか、mt-config.originalを修正したのか。 ウィザードで作成したものです。以前は自分で書いてアップロードしていました。その時は正常に動いていました。(とすると、この部分をもう一度手書きにして確かめてみた方が良さそうですよね?手書きで書いていた時は、MT4.0を使用していました。 >mtディレクトリの上書きは、一旦ディレクトリの中をまっ更にしてからの再UPなのか、ただ単に上書きなのか。 まっさらにしてからの再アップロードです。試してみたことは、データベースも消去し、新たにデータベースのユーザーとパスワードも再発行して初期状態から試してみたのですが、結果と症状は全く同じでした。 この状態で新しいブログを作って(一切いじらない状態で)画像のアップロードを試してみましたが、デフォルトのブログと全く同じ挙動であります。画像をブログに貼付けると500エラーになり削除すると大丈夫です。相変わらず、index.htmlには画像付きのエントリーが反映されませんが、アーカイブや個別ページはきちんと画像付きのブログとして再構築されています。 如何なものでしょう?何となくMovable Typeのバグ臭い感じはするのですが、もしそうだとしたらすでに騒ぎになっている…と思うので、それも違う感じがします。。。(汗)一番気になるところが、Movable Typeのファイルは結構重いファイルなので、アップロードに時間がかかるのですが、その最にFTP通信の途切れなどで、ファイル名だけのゼロバイトファイルがアップロードされてしまうことがあるようです。一つ一つのファイルをまだ検証していませんが、写真のアップとindex.htmlの再構築に関係するファイルがゼロバイトになっているという可能性もなくはないと考えています。(現在、そのようなファイルを探している最中です!)