apache_note

(PHP 4, PHP 5, PHP 7, PHP 8)

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

説明

apache_note(string $note_name, ?string $note_value = null): string|false

この関数は、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() - Apache サブリクエストを実行する

add a note add a note

User Contributed Notes 1 note

up
0
ckm at NOSPAM dot crust dot net
23 years ago
apache_note() does not work on requests to a symlink, only on actual files.  Eg. if index.php is symlinked to login.php, then any apache_note() in login.php will not be available to other apache modules such as logging.
To Top