Page Top

Premature end of script headers

July 4, 2005

昨日からリンクを多く張るときに出ていたエラーは、Internal Server Error 500と言うものでした。 そのエラーページをよく読んでいるともっと詳しく知るには、サーバーのエラーログを見よ、とあったので、 サーバーのコントロールパネルにアクセスして、エラーログなるところを見てみました。

そこにあったのは、”Premature end of script headers:”というもので、訳は、 ヘッダーが出る前にスクリプトが終わってしまっている、と言うもののようです。 この”Premature end of script headers:”というキーワードでググってみたのですが、 どうやら、何とも原因のわかりにくいエラーのようで・・・、はて、どうしたら・・・。

原因はいくつかが考えられるようです。CGIのスクリプトの文法自体に原因があったり、 CGIスクリプトの改行がうまくいっていなかったり、CGIファイルをアスキーモードでアップロード していなかったり、パーミッションを755など、適切に設定していなかったり、 CGIのconfigページちゃんとうまく設定をしていないと出てくるエラーのようです。

私の場合、ファイルはMovable Typeからのものをそのままアスキーモードでアップロードしていて、 パーミッションも755に設置、その他のCGIもバッチリOKなのに、なぜか1つのポスティングに たくさんのリンクを載せて保存しようとするとエラーが生じてしまうのです。

今回のサーバー会社の新しいサーバーへのお引越しが響いて、パールへのパスが 変わったのきゃ?と思いチェックしましたが、OKでした。

結局念のため全てのCGIファイルを再度サーバーにアスキーモードでアップロードしなおして、 パーミッションも設定しなおして、チェックしてみたのですが、やっぱり多量のリンクがあると、 保存時にエラーを出すのですよね、MovableType・・・。

ポスティングにもあるように、リンクを2回に分けてエントリーしたら、大丈夫なのです。 なので、このエラーはわけがわからないのですが、多分Saveする際に、多量のリンクアドレスが、 CGIのどこかのスクリプトで引っかかり、処理時間がかかってTimimg Outなのだったのではないかと、 勝手に想像しています。

と言うことは、これからエントリーが増えて、増えて、益々増えると、CGIの処理時間がかかって、 同じエラーが出ると言うことなのでしょうか・・・。mmm

最新記事