[an error occurred while processing this directive] [APACHE DOCUMENTATION]

mod_cgiモジュール

このモジュールは mod_cgi.c ファイルに含まれ、 デフォルト でコンパイルされます。 これはCGIスクリプトを実行する機能を提供します。 このモジュールによってmime typeがapplication/x-httpd-cgi のファイルが処理されます。

概要

mime typeが application/x-httpd-cgi、または ハンドラが cgi-script (Apache 1.1 またはそれ以降) のファイルはCGIスクリプトとみなし、サーバ上で実行し、そのスクリプトは クライアントに結果を出力します。 AddType命令で設定したファイル名末尾 の拡張子か、または ScriptAliasで設定した ディレクトリで始まるかで判断します。

サーバがCGIスクリプトを起動した時、DOCUMENT_ROOT という 環境変数をCGIスクリプトの環境に追加します。 この変数にはDocumentRootで設定した 値が格納されます。

CGI環境変数

次の様に、実装されたCGIの仕様に基づいて、サーバはCGI環境変数を セットします。;
REMOTE_HOST
これはコンパイルオプションにMINIMAL_DNSしなかった場合 のみセットします。
REMOTE_IDENT
これはIdentityCheckon の時にのみセットします。
REMOTE_USER
これはCGIスクリプトが認証を必要とした場合にのみセットされます。


CGIのデバッグ

CGIスクリプトのデバッグは昔から困難です。 主な理由として、正しく実行されず異常終了するスクリプトの出力 (標準出力と標準エラー出力)の調査が不可能だったからです。 以下の命令はApache1.2以降に含まれ、異常が発生した際、 更に詳細なエラーをログとして蓄積する機能を提供します。

CGIログファイルフォーマット

設定がされている時、CGIの実行が異常時のログを蓄積します。 実行時に異常となったCGIスクリプトは、数行の原因情報をログ蓄積します。 最初の2行の書式は常に次の通りです。:
  %% [time] request-line
  %% HTTP-status CGI-script-filename
もし、CGIスクリプトを実行できないエラーの時、ログは次のように 2行追加されます。:
  %%error
  error-message
あるいは、スクリプトが返してきたヘッダ情報が合わない(間違えていた) 場合のエラーの時は、次の情報がログが蓄積されます。:
  %request
  受信した全てのHTTPリクエストヘッダ
  POST または PUT (どちらかであれば)
  %response
  CGIスクリプトによって出力された全てのヘッダ
  %stdout
  CGIの標準出力
  %stderr
  CGIの標準エラー出力
( %stdout と %stderr の項目が空白の場合があるが、恐らく標準出力と標準エラー 出力の両方とも帰っていないと考えられる).

命令

ScriptLog

Syntax: ScriptLog filename
Default: none
Context: resource config
Status: mod_cgi

ScriptLog命令はCGIスクリプトのエラーログファイルを設定します。 ScriptLogに何も設定しないとエラーログは作成されません。 設定すると、CGIのエラーのログを設定された値のファイル名に蓄積します。 相対パスでファイル名を指定すると、server rootで指定したパスの配下に指定 したファイルになります。

ScriptLogLength

Syntax: ScriptLogLength size
Default: 10385760
Context: resource config
Status: mod_cgi

ScriptLogLengthはCGIスクリプトログファイルの最大サイズを 指定できます。 情報量が多い(全てのリクエスト、全ての出力)CGIエラーログを出力し 続けると、ログファイルが肥大化します。 際限無く肥大化する事を防止するために、この命令はCGIログファイルの最大 を設定できるようになっています。 ファイル容量がこのサイズを越えると、それ以上の情報を追加しなくなります。

ScriptLogBuffer

Syntax: ScriptLogBuffer size
Default: 1024
Context: resource config
Status: mod_cgi

限られた容量のファイルに、PUR(インフォサイエンス:PUTの誤りと思われる) または POSTのエントリボディを蓄積する際、すぐにファイルが大きくなってし まう事を回避するために使います。 デフォルトでは、1024バイトまでをログ蓄積します。この値は変更可能です。


このJAPACHE!ニュースグループへ ( japache.mod.cgi ) | JAPACHE!ニュースについて | JAPACHE!ホームページへ

このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。


検索文字
The English original manual is here.

Index Home