CGIがうまく動かないとき、自分を含め不特定多数の人が、おなじ現象で不具合が起きてるときは、自作したCGI のほうに問題があると思われます。
文法エラーなどのミス
原因
こういうのは、正しく記述されてないと、絶対うまく動きません。だから、動きがおかしいときは、文法のチェックを徹底して行ってみるのがいいと思います。無限ループに陥るようなスクリプトなんか作った日には、みんなに迷惑かけまくりますから、慎重にプログラミングしましょう!
文法というか、よくあるエラーはこれ↓
- 必要なファイルへのパス指定がおかしい
- パーミッションの変更忘れ
- 純粋に、必要な記号を書き忘れた(「'」「;」とか)
処置
▼ 正しい文法で、記述しましょう
文法もそうですけど、参照するURLとか、すべての点で、もう一度見直しましょう。文法を解説してくれるサイトを見つけて、チェックするのもいいかと思います。
なお、パーミッションの変更は、FTPクライアントソフトで行います。
画像が表示できないなどのミス
原因
- ファイル名などの大文字小文字の区別(UNIXサーバーでは厳密に区別するため)
- cgi-bin以下の画像ファイルにアクセス制限がかけられている
- HTMLソースを見ると、フォルダ・ファイル名指定部分が文字化けを起こしている
処置
▼ 正しいフォルダ名・ファイル名で記述しましょう
HTMLソース上で、相対パスの記述、フォルダ・ファイル名の大文字小文字などを見直して正しくHTMLソースを修正しましょう。
ホームページスペースの制限に引っかかっていた
原因
- cgi-bin以下の画像ファイルにアクセス制限がかけられていることがある
- SSI対応のカウンターとかを使うときは、サーバーがSSI使用可能なとこじゃないといけない(ファイル名を「.shtml」にしないと実行できないときもあるらしい)
処置
▼ ホームページスペースの利用規定を確認する
何が大丈夫で、何がダメなのか、一度、確認しましょう。それによっては、新たにホームページスペースを確保しなければならないかもしれない。
画像ファイルにアクセス制限がかけられているところはけっこう多いので、そういうときは、ファイルをcgi-bin以外の場所におくようにして、画像ファイル指定のパス指定を書き換えてください。
カウンター系のCGI トラブル
特定のカウンターが表示されない・表示がおかしい(「00000」とか「88888」とか「カウンターが不正です」とか)、特定の掲示板の動作がおかしい・特定のランキングサイトの投票ができない――などの現象で、自作CGIのときでも、起こりえるエラーです。特に多いのは、カウンターの未表示です。
原因
▼ シマンテック社のアンチウイルスソフトを使用していた
シマンテック社のソフト(Noeton Internet Security とか、Anti Virus)では、初期値で、ブラウザのリファラ(参照元)情報などを受け取らないようになっているため、正しくCGIが動作できません。
処置
▼ リファラの情報を受け取るように設定を直す。
個別に直してもいいし、デフォルト自体を直してもいい。ノートンを起動して、「オプション」→「Webコンテンツ」を開く。個別に直すときは、「サイトを追加」を選んで、リファラを受け取りたいサイトのドメインを指定し、「表示したサイトについての情報です」の[デフォルト設定を使う]のチェックを外し、
[許可]にチェックを入れればいい。 デフォルトを直すときは、 「(デフォルト)」を選んで、 「表示したサイトについての情報です」を[許可]に変更すればいい。
詳しくは、トラブル回避情報を入手した、シマンテック社のホームページを参照ください。文書番号(ID):20021016232213947です。