(PHP 4、PHP 5、PHP 7、PHP 8)
apache_note — 获取和设置 Apache 请求注释
此函数是 Apache 的 table_get 和 table_set 的包装器。它编辑请求期间存在的注释表。该表的作用是允许 Apache 模块进行通信。
apache_note() 的主要用途是在同一请求中将信息从一个模块传递到另一个模块。
note_name注释的名称。
note_value注释的值。
如果省略 note_value 或为 null,则返回注释 note_name 的当前值。否则,它将注释 note_name 的值设置为 note_value 并返回注释 note_name 的先前值。如果无法检索注释,则返回 false。
| 版本 | 描述 |
|---|---|
| 8.0.0 |
note_value 现在可以为 null。 |
示例 #1 在 PHP 和 Perl 之间传递信息
<?php
apache_note('name', 'Fredrik Ekengren');
// 调用 perl 脚本
virtual("/perl/some_script.pl");
$result = apache_note("resultdata");
?># Get Apache request object
my $r = Apache->request()->main();
# Get passed data
my $name = $r->notes('name');
# some processing
# Pass result back to PHP
$r->notes('resultdata', $result);
示例 #2 在 access.log 中记录值
<?php
apache_note('sessionID', session_id());
?># "%{sessionID}n" can be used in the LogFormat directive