Top / CGI相談室 / エラーメッセージ

space

エラーメッセージ

Top / CGI相談室 / エラーメッセージ

Last-modified: 2006-11-20 (月) 10:26:43

CGIでのよくあるエラー

404 / File not Found

これは「呼び出されたURLには、そのファイルがありません」という意味です。

  • CGIを呼び出すURLに間違いはないですか?ディレクトリ名やファイル名などは?
  • CGIを呼び出すには特別なURLが必要でないか?

FTPの設定やサーバー上のフォルダ、プロバイダの説明ページなどよく見ましょう。

アクセス不可 / Forbidden / 403 / You don't have Permission denied

これは、CGIファイルのパーミッション(アクセス権)が合ってない場合です。

  • ファイルのパーミッションを確認してください。
  • CGIファイルが、サーバー側の指定するディレクトリ(又はCGI専用サーバ)に置かれていない。

CGIの配布先や、サーバー、プロバイダに書かれている設定を確認しましょう。

500 / Internal Server Error

これは汎用的なエラーメッセージでこれだけでは原因を特定できないのが正直なところです。
しかしながら、一般的には以下の原因が考えられます。心当たりあるものに優先順位を付けてチェックしてみてください。

  • プログラム先頭行のPerlのパス(#!/usr/bin/perlなど)の記述が正しくない。
    • サーバーによって記述が異なりますので、サーバー管理者やプロバイダが用意するCGIの設置手順書や、ホームページに書かれている内容を確認してください。
      無ければ、サーバー管理者やプロバイダへメール等で確認してください。
    • シェルの利用できるプロバイダの方は which perl とコマンドを打ち込めばそのパスが表示されます。
    • Perlのパスは必ず先頭行になければなりません。その前に「改行」や「スペース」行があってもだめです。
  • FTPでの転送モードに誤りがある。
    • CGIスクリプトやログファイル関連はほとんどのケースで「テキストモード」で転送します。
      「CGIスクリプト」と呼ばれるものはすべて「テキストモード」での転送ですので、間違いなく「テキストモード」で転送したかをFTPツールソフトの設定をご確認下さい。
  • パーミッション(アクセス権)が正しくない。
    • パーミッション(アクセス権)の設定が正しくないと「サーバエラー」のエラーメッセージを出すサーバーがあります。
      パーミッションの設定を確認してください。
  • require文のパスが正しくない。
    • 日本語の投稿処理を扱うCGIスクリプトには必ずrequire './jcode.pl';などという require文があります。
      ここで指定するパスが正しくないとサーバエラーになります。
  • スクリプトの修正時に誤って文法違反を起こしてしまっている。
    • スクリプトを自分で修正した際に、誤って文法違反を起こしてしまう場合があります。
      例えば、行の最後の;を取ってしまったり、"の前にエスケープ記号(\)を付け忘れていたりする場合があります。
    • 文法チェックを行うには、シェルの使用できる環境の方は、そのスクリプトのところまでtelnetで移動して、以下のコマンドを打つことで文法エラーの発見を行うことができます。
      perl -c xxx.cgi 
  • シフトJISで特殊文字を使用している。
    • シフトJISの一部の文字を使うと文字化けをすることがあります。
      例:― ソ 欺 圭 構 蚕 十 貼 表 予 兔 喀 杤 噂 饅
    • 文字化けも参考にご覧ください。

Can't create tempfile

CGIを置いているディレクトリのパーミッション(アクセス権)が正しくない場合です。

  • CGIを入れているディレクトリのパーミッションを確認してみてください。

Can't write ./xxx.html

ファイルへの書き込みが出来ない状態です。

  • 書き込み処理されるファイルやそのファイルを設置しているディレクトリのパーミッションを確認してください。
  • 書き込み処理されるファイルへのパス設定を見直してください。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-11-20 (月) 10:26:43 (4655d)
[ Counter today ]