• ベストアンサー

Internal Server Error???

こんにちは。 CGIを作ったのですが、 【Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@life-web.com and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. 】 と言うエラーが出て動きません. もう一つ同じようなcgiを作ったのですが、そちらは普通に動きます.すみませんが、このエラーの場合はどうしたらいいですか? CGIはメールフォームからのメールを送信するものです。

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

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.4

perlの標準モジュールであるCGI::Carpが使える環境であれば、下記のような記述を加えて、エラーメッセージをブラウザに表示させることが出来ます。 ------------------------------------------------- use CGI::Carp qw(fatalsToBrowser); ------------------------------------------------- エラーメッセージが表示されれば、原因の特定がやりやすくなるかと。

参考URL:
http://member.nifty.ne.jp/hippo2000/perltips/CGI/Carp.html
amountainblast
質問者

お礼

ありがとうございます。 どうもsemdmeilのパスの記述の仕方が間違えていたようです。

その他の回答 (3)

noname#48234
noname#48234
回答No.3

#1さんのご回答にあるとおり、このメッセージだけでは具体的なエラー箇所がわかりません。 どんなサーバーを利用されているのか分かりませんが、 ・ローカル(自分のパソコン)ならコマンドプロンプトからCGIを直接実行してみる。 ・リモート(自前やレンタルサーバー)ならば、telnet接続してチェックしてみる。 ログイン後 perl -cw ファイルへのパス/○○○.cgi など。 この説明でお分かりにならなければちょっと勉強が必要ですね。

amountainblast
質問者

お礼

ありがとうございます。 レンタルサーバーなのですが、telnetやsshはサポートされていないんです。 エンコードの問題みたいなので、もう少し奮闘してみたいと思います。

  • CSC
  • ベストアンサー率20% (24/119)
回答No.2

以下の点を確認してみてください。 1.Perlのパス 2.文法(変数の流れ等) 3.パーミッション 一般人にはこれくらいしか考え付きませんが。。。 自分もよくCGIをカスタマイズして使いますが、 その際にデバック専用(KCatch.pm)のpmファイルをインポートしてエラー内容を吐き出すようにしたりしています。

amountainblast
質問者

お礼

さっそくのご回答ありがとうございます。 エンコードが西ヨーロッパ言語になってエラーが起こっているみたいです。どっかで言語を指定してやったら解決すると思うので、どうにか奮闘してみたいと思います。 ありがとうございます。

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.1

 このエラーメッセージは、CGIで何らかのエラーがあったから、実行できない。詳しい事は、エラーログを参照せよと言っているだけで、ほとんど意味のある情報を提示してくれません。  もし、あなたが、このサーバーの管理者であれば、サーバーのエラーログを参照してください。こっちには、CGIスクリプトからでたエラーメッセージが記録されているはずです。  もし、このエラーログを見る権限があなたにないなら、 ・ポイントポイントで、ファイルに状況を書き出す行を追加して、そのファイルを確認してどこまで、どのような状態で実行されているかを確認する。 ・ローカルのコンピューターで、コンソールからCGIを直接実行してみて、状態をチェックする  くらいしか方法がありません。    また、もし、できるなら、ローカルコンピュータにwebサーバーをインストールして、その上でCGI動かすというのも一つの方法です。そうすれば、エラーログを見ることができますから、かなりやりやすくなります。

amountainblast
質問者

お礼

さっそくのご回答ありがとうございます。 エンコードが西ヨーロッパ言語になってエラーが起こっているみたいです。どっかで言語を指定してやったら解決すると思うので、どうにか奮闘してみたいと思います。 ありがとうございます。

関連するQ&A