設置直後に「500」というエラーメッセージが表示されます。
何らか原因で「実行できません」というエラーメッセージです。
エラーメッセージはサーバによって異なりますが、「500」と表示されれば同様の原因が考えられます。
解決するには、次のポイントをチェックしてください。
■パーミッションを正しく設定したか?(*とてもよくあるミス)
CGIスクリプトに関係するファイルのパーミッションが正しく設定されていないと、「500」と表示され、CGIスクリプトとして実行できない場合があります。
■ファイル転送方法は正しかったか?(*よくあるミス)
FTPクライアントでサーバへファイル転送した際に、「転送モード」がCGIスクリプトに合っていないと、エラーになります。
転送モードを「自動判別」で、もう一度設置してください。
■スクリプト中に構文エラーはないか?(*よくあるミス)
スクリプト中に何らかの文法エラーがあった場合に、CGIスクリプトとして実行できません。
次のポイントをチェックしてください。
→ 構文エラーチェックポイント1
シングルクォートで囲まれている部分の、シングルクォートの片方を消してしまったり、シングルクォートで囲まれている部分の中にシングルクォートを書くとエラーになります。
○「'文字列'」
×「'文字列」
×「'文字'列'」
→ 構文エラーチェックポイント2
セミコロン「;」で終わる行のセミコロンを取ってしまうとエラーになります。
○「$define->{'HOGE'} = 'hoge';」
×「$define->{'HOGE'} = 'hoge'」
→ 構文エラーチェックポイント3
スクリプト自体の構文に全角文字を使ってしまうと、エラーになります。スクリプト自体の構文は全て半角文字でなくてはなりません。見た目で判断しにくいエラーなので、ご注意ください。
○「$define->{'HOGE'} = 'hoge';」
×「$define->{’HOGE’} = ’hoge’;」
■Perlのパスは正しいか?(*よくあるミス)
Perlのパスは設置先のサーバごとに異なり、正しく設定されていないとCGIスクリプトとして実行できません。
CGIスクリプトの実行ファイルの先頭に「#!/usr/local/bin/perl」と書かれているのがPerlのパスです。Perlのパスは、サーバごとに異なり、正しく設定されていないとエラーになります。例えば、あるサーバでは「#!/usr/bin/perl」をPerlのパスに指定することで、この問題を解決できるかもしれません。
Perlのパスが不明な場合には、サーバ管理者へ問い合せてください。
■ファイルロック方法を正しく設定したか?
flock関数が使えないサーバで、flock関数を実行するとエラーになります。
ごく少数ですが、中にはflock関数が使えないサーバがあります。もし、利用中サーバのサポートページでflock関数利用が禁止と公開されていましたら、ファイルファイルロック方法の設定を変更する必要があります。詳しくはダウンロードページを参考に設定変更してください。
→ よくある質問一覧へ
|