- ベストアンサー
Perlの初心者がウェブページに新たなcgiを設置しようとしたが「Inter Server Error」と表示される理由と解決方法について
- Perl初心者がウェブページに新たなcgiを設置しようとしたが「Inter Server Error」という表示が出てきました。Perlにはヴァージョンがあり、それに関する知識が浅いため困っています。
- Perl開発にはヴァージョンが存在し、問題なくcgiを設置するためには適切なPerlのヴァージョンをダウンロードする必要があります。
- 「Inter Server Error」の解消を第一目標に、Perlのヴァージョンの問題について理解し、適切なヴァージョンをダウンロードして問題を解決することが重要です。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
借り物のcgiを設置しようとされているのでしょうか? それとも、自分で組んだスクリプトを実行させようとしているのでしょうか? 後者だと仮定して話を進めさせていただきます。 まず、Perlのバージョンはサーバーにインストールされているもので決まるので、サーバー管理者しか変更することはできません。 なので、インストールされているPerlのバージョンを参考にした上で、実行できるスクリプトを開発することになります。 (ただ、基本的な命令を用いたスクリプトであれば、バージョンの違いが問題になることはあまりありません。せいぜいシンボリックリンクの問題程度でしょうか) perlのスクリプトファイルは単なるテキストファイルなので、開発環境には依存しません。 Internal Server Errorとのことですが、#1の方が述べられている点に問題がなければ、スクリプト自体に問題がある可能性があります。 デバッグでは、まずバグの箇所を絞り込むことが必要です。 プログラムを大幅にカットして、正常に動作するまで減らします。部分的に正常動作したら、どんどん差分を加えていきます。加えてサーバーエラーが起きたら、加えた差分の部分にバグがあるということになります。 例えば、プログラムがabcdeに分かれているとします。 まず、bcdeを削ってaのみ実行します。正常に動作したならbを加え、再テスト。ここで次にcを加え実行したときにエラーが起きたとすれば、cにバグがあることが分かります。 参考になれば幸いです。
その他の回答 (5)
- edomin
- ベストアンサー率32% (327/1003)
#5です。またまた、補足要求です。 レンタルサーバ上でスクリプトを動かすのにperlをダウンロードしてきても意味はありませんよ。(自分で動作確認するなら別ですが・・・) ダウンロードしてきたスクリプトのperlのバージョンとサーバのperlのバージョンは有っていますか? また、スクリプトをアップロードしたディレクトリはサーバが許可したディレクトリですか?そのディレクトリのパーミッションはどうなっていますか?
補足
お騒がせしました。結局パーミッションの問題でした。サーバー(レンタル)側が指定したパーミッションを疑って問い合わせてみたのですが、「それならこれでやってみて下さい→NG」ということを4回繰り返して、読み込むことが出来ました。たまたま最初に対応していただいた方が、「suExec」に詳しくなかったもので、パーミッションは当たっているという前提で作業を進めた結果、こうなりました。御回答いただいたみなさん、ありがとうございました。
- edomin
- ベストアンサー率32% (327/1003)
ちょっと、補足をお願いします。 「使用しているのはDLしたフリーウェアです。」 動かそうとしているのは、ダウンロードしてきたPerlのスクリプトですか? 「インストーラーらしきものもなく、困っています。」 サーバは自分で準備したものですか?または、プロバイダ等のスペースを使用するのですか?
補足
ダウンロードしてきたPerlのスクリプトを、レンタルサーバー内にある自分のウェブページで動作させようとしています。
- parapara777
- ベストアンサー率16% (39/239)
根本的にあなたの使っているサーバで CGIは使えるのか それと自作のCGIはローカルで十二分にテストしてからに してください。 最悪サーバをダウンさせていろいろな人に 迷惑かけます。 それであなたに損害賠償が請求されるかもしれません。
補足
CGIは使えます。ずいぶんお怒りのようですが、 自作とは一言も言っていません。フリーウェアです。
- adcha128
- ベストアンサー率21% (137/629)
#1さんの書かれた項目が完璧となると、改行コードはあっていますか? サーバによってはLFコードなどの指定がある場合がありますよ。 あと、下記URLのスクリプトを試すのもお勧めです。
- tessyu
- ベストアンサー率53% (59/110)
■CGIファイルはASCIIモードで転送 ■perlのパス確認 ■パーミッション設定 これらに間違いはありませんか?
補足
ダブルチェックをし、万全です。
補足
御回答ありがとうございます。 使用しているのはDLしたフリーウェアです。