CGI-Search  
CGI-Search
  TOPページ 初心者のCGI設置 設置サポート掲示板 カスタマイズノート  サイト登録 ログイン  
 キーワード検索 (複数は半角スペースで区切る)[使い方] 詳細検索 CGIサイト スクリプト
CGIサイト
 スクリプト
 初心者のCGI設置
 CGIが作動しない (サーバエラーなどのトラブル対処)
 一般配布されているCGIは、サーバの環境さえ問題がなければ、必ず作動するようになっています。もし正常に作動しない場合はまず以下の事を再度確認してみましょう。
 基本的なことの見直しで結構作動するようになるものです。

  1. CGIファイル1行目のPerlへのパスは間違っていませんか?

    #!/usr/local/bin/perl
    #!/usr/bin/perl

    正確なパス情報は、ご利用のサーバマニュアルで調べるか、サーバ管理者まで尋ねて見ましょう。


  2. パーミッションの設定が間違っていませんか?

    一般的なサーバでは、CGI実行ファイルは "755" 又は "705" です。


  3. データファイルやライブラリへのパスが間違っていませんか?

    CGIファイル内で他ファイルへのパスを設定する際は原則 "相対パス" で書きます。これを絶対パス(http://から始まるパス)などで記述していませんか?


  4. 設定ファイルなどを書き換えた場合に ; や ' や " などを消してしまっていませんか?

    たった一つの ; がないだけでもプログラムは作動しません。よく見直しをしてみましょう。


  5. 自由に書き換えてもよい文字列などで、メールアドレスの@やHTMLタグの"を書き加えたりしていませんか?

    ヒアドキュメントprint文などの中にメールアドレスを書き加える場合、 abc\@defg.com などのように @ の前に \ を入れて @ をエスケープさせる必要があります。またprint文では<font color="#000000">などのHTMLタグの " も、その前に \ を加えて<font color=\"#000000\">のようにして下さい。


  6. CGIファイルやPLファイルを書き換えた際、改行コードを間違えて保存していませんか?

    改行コードは使用しているOS(オペレーティング・システム、WindowsやMacとかのこと)によって異なります。CGIスクリプトファイルは、UNIX形式の改行コード <LF> 形式で保存しなければ、サーバエラーとなってしまいます。
    Windowsに付属されている、メモ帳やノートパッドでCGIファイルの編集を行うと、windows形式の<CR><LF>形式で改行コードを保存してしまいます。Macであれば、<CR>形式で保存されます。

    これらの問題を回避するには、専用のテキストエディーターを利用して編集するようにしましょう。
    また、専用のFTPソフトを使っている場合は、転送する際にFTPソフトが改行コードを変換してくれるものもあります。


  7. 転送モードを間違えてファイル転送していませんか?

    FTPソフトを使っている場合、ファイルをサーバに転送する時はASCII(アスキー)モードで転送して下さい。
    前項目でFTPソフトで転送する際に改行コードを自動変換してもらえると説明しましたが、ASCIIモードで転送しないと自動変換を行ってもらえません。(自動変換出来るFTPソフトの場合は、改行コードをwindows形式、Mac形式で保存しても問題ありません。)改行コードを自動変換する必要のない画像ファイルなどはバイナリモードで転送して下さい。

    改行コードの自動変換が上手く行かない場合は、テキスト専用エディーターでUNIX形式でファイルを保存し、バイナリモードでの転送を試して見て下さい。


以上をまずお試し下さい。もし、これでもCGIが作動しない場合は、一度最初に戻って、サーバ環境のみの設定で設置を試みて下さい。それでも作動しない場合は、サーバ環境の問題も考えられます。サーバによっては、cgi-binディレクトリ内ではHTMLファイルや画像ファイルが使えないサーバ、極端に言えばCGIが利用できないサーバなどもあります。その場合は、CGIの設置に関するサーバマニュアルなどを再度よく読み、CGI設置環境をよく理解され、それに合わせた設定で再度お試し下さい。


<< BACK
 
TOP
 
NEXT >>

ご利用にあたって サイト利用方法  サイト登録方法  利用規約  リンク・ご連絡
Copyright(C)2004 CGI-Search All rights reserved.