- ベストアンサー
Internal Server Error
- The server encountered an internal error or misconfiguration and was unable to complete your request.
- シンタックチェックはOKです。パーミッションはcgiフォルダは:705 cgiファイルは:700 他のパーミッションも確認しています。-wオプションをつけてもそれ以上のものは表示しません。
- 原因場所が判らないので仕方なく読み込んだところで表示するサブルーチンを設定し、原因場所を特定しようとしました。サブルーチンの部分が読み込まれ表示されれば、そこまでは正常と判る様にしてあります。しかし、プログラムの最初の部分においても、上記のエラーがでます。こういう時の原因を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
まずは、「Hello,World」を表示する単純なスクリプトで動作確認をしてみてはいかがでしょうか。 それで現象が同じならオペレーションか環境に問題があるという「切り分け」が出来ます。 また、バイナリモードで上がったかどうかは、上がったものをダウンロードしてもわかりません。 FTPソフトをチェックしてみてください。
その他の回答 (4)
- mflow
- ベストアンサー率63% (42/66)
cgiファイルのパーミッションを705にしてみたらどうですか?もしくはフォルダ、cgi共に755にしてみてください。
お礼
アドバイス有り難うございました。上記の通り基本的なミスでした。
補足
ご連絡有り難うございます。パーミッションはどちらも試しましたがだめでした。
- mflow
- ベストアンサー率63% (42/66)
suexec環境でsuexecの実行ユーザとグループと、cgiのオーナーとグループが一致していないときそのエラーが発生したことがありました。 どうぞご確認ください。
お礼
アドバイス有り難うございました。上記の通り基本的なミスでした。
- chie65536
- ベストアンサー率41% (2512/6032)
サーバーへ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 パーミッションを確認しましたが、最初に書いたとおりで問題ないかと思います。なおパーミッションを変えて試してもだめでした。
- Ka-Wa
- ベストアンサー率46% (12/26)
原因は多数考えられますがとりあえず初歩的なところで、 ・Perlへのパスが違っている(スクリプトの一行目の #!/usr/bin/perl ←この記述) ・読み込むライブラリのパスや、サーバ側で提供されていないライブラリをRequireしてる その他は、スクリプト内部の例外で、Exceptionをハンドリングしてないと全てInternal Server Errorになってしまって原因究明が難しくなりますね
お礼
アドバイス有り難うございました。上記の通り基本的なミスでした。
補足
>>Exceptionをハンドリングしてないと・・・ とありますが、例えばどういうことでしょうか?教えてください。
お礼
アドバイスの御陰で原因を特定できました。サブルーチンで引数の括弧がいらないのにつけていました。まだまだ基本的なところで間違ってしまい、勉強し直します。この度は有り難うございました。
補足
ご回答有り難うございます。FTPで事故ったことがありませんでしたので、簡単に考えていました。今回関連あるデータを全てバイナリーモードで、アップロードし直しました。そして、単純なスクリプトで動作を確認しました。結果は問題なく表示しました。やはりプログラムミスか同時にインストールしているモジュール関係が問題かと絞り込めてきました。以前問題なく動いていましたが、今回たまたまテキストの一部を変更してテストしたら動かなくなっていたので、原因を探っていました。プログラムに関係したところは変更していないので、不思議です。ほとんど同じプログラムを他のサーバーでは問題ないのですが。