• ベストアンサー

Server error! Error 500

RedHat7.3, apache-2でCGIが動くようにしたいのですが、 httpd.confをいじったりいろいろやってるのですが Server error! Premature end of script headers: tmp.cgi Error 500 と言われてしまいます。 Object not found!(Error404)ではないのでcgiファイルがあることは認識されてるようですが、 ”早すぎる終わり”をどうやったら回避できますか? 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.6

その時に出力されているソースは正しいのですか? あと念のためにパーミッションは705になっているのでしょうか?

taropoo
質問者

補足

> あと念のためにパーミッションは705になっているのでしょうか? なってませんでした。(^_^;) 一応動くようになりました。大前進です。パチパチ~!! ただし、文字化けしてます。 自分でわざわざブラウザで文字のエンコードをs-jisに直してやれば見えるようになるのですが、 リロードするとまた文字化けし、ブラウザの設定は西ヨーロッパ(ISO)にもどってしまいます。 なぜでしょう?

その他の回答 (6)

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.7

Content-Type: text/html; charset=$page_code Content-Language: ja <HTML LANG="ja"> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=$page_code"> <TITLE></TITLE> </HEAD> ↑ これくらいやれば何とかなるんじゃないですか? $page_code は使う文字コードです。

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.5

> ブラウザではやはりError 500になってしまいます。 No2 misoka さんのご指摘のmimeヘッダの不備問題はどうでしょうか?

taropoo
質問者

補足

確認はどうすれば出来ますか? nkfでwindows用に変換する前のファイルをコマンドラインで実行した限りでは 1行目に Content-type: text/html と出力されますが。

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.4

> Server error! > Premature end of script headers: tmp.cgi > Error 500 と > [root@ice imGBOOK]# ./im_gbook.cgi > : bad interpreter: そのようなファイルやディレクトリはありません で、スクリプトのファイル名が一致していないのは何故なのでしょうか? あと本当にperlのパスの記述があっているのかわかりませんが、 # perl ./im_gbook.cgi で、そのスクリプトは実行できるのでしょうか。 ちなみにrootで作業されていますが、それはあまりよくないですよ。

taropoo
質問者

補足

tmp.cgiはeucで改行がLFのものです。 一歩前進しました。行末に;が抜けてるところを発見しました。 これでtmp.cgiはコマンドラインでは動くようになりましたが ブラウザで見ると文字化けしてしまいます。 # nkf -cs tmp.cgi > im_gbook.cgi # chmod +x im_book.cgi とやると、コマンドラインでは文字化けしてほとんど読めず、 ブラウザではやはりError 500になってしまいます。

  • misoka
  • ベストアンサー率35% (56/160)
回答No.3

No.2で回答したmisokaです。 バックスラッシュが ¥ になってしまいました。 読み替えてください。 No.1のご回答のとおり、いちどコマンドラインからCGIをperl してみるといいと思います。

  • misoka
  • ベストアンサー率35% (56/160)
回答No.2

print "Content-type: text/html¥n¥n" を出力する前に、 何かが出力されてしまっているとかいうことではありませんか?

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.1

そもそもコマンドラインでは動くのでしょうか?

taropoo
質問者

補足

[root@ice imGBOOK]# ./im_gbook.cgi : bad interpreter: そのようなファイルやディレクトリはありません [root@ice imGBOOK]# となります。perlのインストールされているディレクトリを確認しましたが、 ちゃんと正しく記述されています。

関連するQ&A

専門家に質問してみよう