4.5.1 関数

log_error( message[, level, server])
Apache のap_log_error() 関数へのインタフェースです。 message はエラーメッセージの入った文字列です。 level は以下のフラグ定数のいずれかです:

    APLOG_EMERG
    APLOG_ALERT
    APLOG_CRIT
    APLOG_ERR
    APLOG_WARNING
    APLOG_NOTICE
    APLOG_INFO
    APLOG_DEBUG
    APLOG_NOERRNO

serverreq.server オブジェクトへの参照です。 server を指定しない場合、エラーがデフォルトのエラーログまたは 適切な仮想サーバのエラーログに記録されます。server を指定しない 場合、"LogLevel" ディレクティブの設定は適用されず、"LogLevel"の設定は httpd をコンパイルした時のデフォルト値になります。 通常、デフォルト値は warn です。

リクエストオブジェクトを参照できるような状況では、req.log_error を使うよう検討してください。req.log_error はリクエスト元の IP アドレスのようなリクエスト固有の情報をログエントリに追加します。

import_module( module_name[, autoreload=1, log=0, path=None])
この関数を使うと、import しておいたモジュールが変更された時に自動的に再ロード を行うという、mod_python の内部メカニズムの恩恵を受けられます。

module_name はモジュール名の入った文字列です。 (mypackage.mymoduleのように、ドットを含めてもかまいません。) autoreload には import 後にモジュールが更新された場合に 再ロードを行うべきか否かを指定します。log を真にすると、モジュールを 再ロードした時にメッセージをログ書き出します。path を指定すると、 特定のパスからモジュールを import するよう制限できます。

一例を示します:

    from mod_python import apache
    mymodule = apache.import_module('mymodule', log=1)

allow_methods( [*args])
req.allowed の値を設定するための便宜関数です。 req.allowed はビットマスクで、"Allow:" ヘッダの 作成に使われます。この値はHTTP_NOT_IMPLEMENTED エラーを 返すよりも前に設定しておかねばなりません。

引数には以下の値から一つまたは複数個を指定します:

    M_GET
    M_PUT
    M_POST
    M_DELETE
    M_CONNECT
    M_OPTIONS
    M_TRACE
    M_PATCH
    M_PROPFIND
    M_PROPPATCH
    M_MKCOL
    M_COPY
    M_MOVE
    M_LOCK
    M_UNLOCK
    M_VERSION_CONTROL
    M_CHECKOUT
    M_UNCHECKOUT
    M_CHECKIN
    M_UPDATE
    M_LABEL
    M_REPORT
    M_MKWORKSPACE
    M_MKACTIVITY
    M_BASELINE_CONTROL
    M_MERGE
    M_INVALID

config_tree( )
サーバレベルの設定ツリーを返します。このツリーには.htaccess 由来の ディレクティブは入っていません。また、ツリーはコピー にすぎず、 変更しても実際の設定になんら影響を及ぼしません。

server_root( )
ServerRoot の値を返します。

make_table( )
この関数は撤廃され、table (下記参照) の別名になっています。

mpm_query( code)
Allows querying of the MPM for various parameters such as numbers of processes and threads. この関数を使うと、プロセス数やスレッド数といった様々な値を MPM に問い合わせ られます。戻り値は以下の三つの定数のいずれかになります:
AP_MPMQ_NOT_SUPPORTED      = 0  # MPM がスレッド生成や fork を
                                # サポートしていないことを示します。
AP_MPMQ_STATIC             = 1  # MPM がスレッドやデーモン (daemon) の数を
                                # 静的に設定していることを示します。
AP_MPMQ_DYNAMIC            = 2  # MPM がスレッドやデーモンの数を
                                # 動的に設定していることを示します。

code 引数は以下の値のいずれかでなければなりません:

AP_MPMQ_MAX_DAEMON_USED    = 1  # これまでに使われたデーモン数の最大値
AP_MPMQ_IS_THREADED        = 2  # MPM がスレッドを生成できるか否か
AP_MPMQ_IS_FORKED          = 3  # MPM が fork を実行できるか否か
AP_MPMQ_HARD_LIMIT_DAEMONS = 4  # 最大デーモン数のコンパイル時の設定
AP_MPMQ_HARD_LIMIT_THREADS = 5  # 最大スレッド数のコンパイル時の設定
AP_MPMQ_MAX_THREADS        = 6  # 設定上のスレッド/子プロセス数
AP_MPMQ_MIN_SPARE_DAEMONS  = 7  # スペアとして残すデーモン数の最小値
AP_MPMQ_MIN_SPARE_THREADS  = 8  # スペアとして残すスレッド数の最小値
AP_MPMQ_MAX_SPARE_DAEMONS  = 9  # スペアとして残すデーモン数の最大値
AP_MPMQ_MAX_SPARE_THREADS  = 10 # スペアとして残すスレッド数の最大値
AP_MPMQ_MAX_REQUESTS_DAEMON= 11 # デーモンあたりの最大リクエスト数
AP_MPMQ_MAX_DAEMONS        = 12 # 設定上でのデーモンの最大数

以下に例を示します:

if apache.mpm_query(apache.AP_MPMQ_IS_THREADED):
    # do something
else:
    # do something else