プロが教えるわが家の防犯対策術!

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
上記のメッセージがでます。シンタックチェックはOKです。パーミッションはcgiフォルダは:705 cgiファイルは:700 他のパーミッションも確認しています。-wオプションをつけてもそれ以上のものは表示しません。原因場所が判らないので仕方なく読み込んだところで表示するサブルーチンを設定し、原因場所を特定しようとしました。サブルーチンの部分が読み込まれ表示されれば、そこまでは正常と判る様にしてあります。しかし、プログラムの最初の部分においても、上記のエラーがでます。こういう時の原因を教えてください。

A 回答 (5件)

まずは、「Hello,World」を表示する単純なスクリプトで動作確認をしてみてはいかがでしょうか。


それで現象が同じならオペレーションか環境に問題があるという「切り分け」が出来ます。
また、バイナリモードで上がったかどうかは、上がったものをダウンロードしてもわかりません。 FTPソフトをチェックしてみてください。

この回答への補足

ご回答有り難うございます。FTPで事故ったことがありませんでしたので、簡単に考えていました。今回関連あるデータを全てバイナリーモードで、アップロードし直しました。そして、単純なスクリプトで動作を確認しました。結果は問題なく表示しました。やはりプログラムミスか同時にインストールしているモジュール関係が問題かと絞り込めてきました。以前問題なく動いていましたが、今回たまたまテキストの一部を変更してテストしたら動かなくなっていたので、原因を探っていました。プログラムに関係したところは変更していないので、不思議です。ほとんど同じプログラムを他のサーバーでは問題ないのですが。

補足日時:2006/11/29 16:38
    • good
    • 0
この回答へのお礼

アドバイスの御陰で原因を特定できました。サブルーチンで引数の括弧がいらないのにつけていました。まだまだ基本的なところで間違ってしまい、勉強し直します。この度は有り難うございました。

お礼日時:2006/11/30 15:19

cgiファイルのパーミッションを705にしてみたらどうですか?もしくはフォルダ、cgi共に755にしてみてください。

この回答への補足

ご連絡有り難うございます。パーミッションはどちらも試しましたがだめでした。

補足日時:2006/11/28 13:58
    • good
    • 0
この回答へのお礼

アドバイス有り難うございました。上記の通り基本的なミスでした。

お礼日時:2006/11/30 15:21

suexec環境でsuexecの実行ユーザとグループと、cgiのオーナーとグループが一致していないときそのエラーが発生したことがありました。



どうぞご確認ください。
    • good
    • 0
この回答へのお礼

アドバイス有り難うございました。上記の通り基本的なミスでした。

お礼日時:2006/11/30 15:22

サーバーへCGIファイルを転送する際のモードは合っていますか?



以下、確認すべき点
・テキスト/バイナリモードの設定
・テキストモードの改行コードの変換の設定
・テキストモードの漢字コードの変換の設定

この回答への補足

転送後のCGIファイルをダウンロードして確認しましたが、問題はないようです。なお、サーバーのエラーログは以下のようになっていました。
failed to open log file
fopen: Permission denied
[Mon Nov 27 18:19:08 2006] [error] [client xxx.xxx.xxx.xx] Premature end of script headers: /cgi-bin/mailForm/mailForm.cgi
パーミッションを確認しましたが、最初に書いたとおりで問題ないかと思います。なおパーミッションを変えて試してもだめでした。

補足日時:2006/11/27 18:25
    • good
    • 0

原因は多数考えられますがとりあえず初歩的なところで、


・Perlへのパスが違っている(スクリプトの一行目の #!/usr/bin/perl ←この記述)
・読み込むライブラリのパスや、サーバ側で提供されていないライブラリをRequireしてる

その他は、スクリプト内部の例外で、Exceptionをハンドリングしてないと全てInternal Server Errorになってしまって原因究明が難しくなりますね

この回答への補足

>>Exceptionをハンドリングしてないと・・・
とありますが、例えばどういうことでしょうか?教えてください。

補足日時:2006/11/27 17:48
    • good
    • 0
この回答へのお礼

アドバイス有り難うございました。上記の通り基本的なミスでした。

お礼日時:2006/11/30 15:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!