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.
(PHP 4, PHP 5, PHP 7, PHP 8)
apache_note — Get and set apache request notes
This function is a wrapper for Apache's table_get
and
table_set
. It edits the table of notes that exists
during a request. The table's purpose is to allow Apache modules to
communicate.
The main use for apache_note() is to pass information from one module to another within the same request.
note_name
The name of the note.
note_value
The value of the note.
If note_value
is omitted or null
, it returns the current value of note
note_name
. Otherwise, it
sets the value of note note_name
to
note_value
and returns the previous value of
note note_name
.
If the note cannot be retrieved, false
is returned.
Version | Description |
---|---|
8.0.0 |
note_value is nullable now.
|
Example #1 Passing information between PHP and Perl
<?php
apache_note('name', 'Fredrik Ekengren');
// Call perl script
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);
Example #2 Logging values in access.log
<?php
apache_note('sessionID', session_id());
?>
# "%{sessionID}n" can be used in the LogFormat directive
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.