apache_note

Apacheリクエスト記号(note)を取得/設定する

説明

stringfalse apache_note(string $note_name, stringnull $note_value = null)

この関数は、Apache の table_get および table_set のラッパーです。 リクエスト中に存在する note のテーブルを編集します。 このテーブルは、Apache モジュール間の通信に用いるものです。

apache_note の主な使用法は、 同一リクエスト内でのモジュール間の情報のやりとりです。

パラメータ

note_name

記号の名前

note_value

記号の値

戻り値

note_value が省略されるか、null の場合、 note_name の現在の値が返されます。 そうでない場合、記号note_name の値をnote_valueにセットし、前の記号 note_nameの値を返します。 もし記号が処理できない場合、false が返されます。

変更履歴

バージョン 説明
8.0.0 note_value は、nullable になりました。

例1 PHP と Perl との間での情報のやりとり

<?php

apache_note('name', 'Fredrik Ekengren');

// perl スクリプトをコールします
virtual("/perl/some_script.pl");

$result = apache_note("resultdata");
?>
# Apache リクエストオブジェクトを取得します
my $r = Apache->request()->main();

# 受け取ったデータを取得します
my $name = $r->notes('name');

# 何らかの処理をします

# 結果を PHP 側に戻します
$r->notes('resultdata', $result);

例2 access.log への出力

<?php

apache_note('sessionID', session_id());

?>
# "%{sessionID}n" を LogFormat ディレクティブで使用できます

参考

  • virtual