Необходимо взаимодействовать из PHP с другими частями процесса Apache, обрабатывающего запрос. Это включает установку переменных в файле access_log.
Это делается при помощи функции apache_note():
// получаем значение
$session = apache_note('session');
// устанавливаем значение
apache_note('session', $session);
Обрабатывая запрос клиента, Apache совершает ряд шагов, а PHP представляет только одно звено в целой цепи. Apache также переопределяет
URL, идентифицирует пользователей, регистрирует запросы и делает
многое другое. Во время обработки запроса каждый обработчик имеет
доступ к множеству пар ключ/значение, называемому notes table.
Функция apache_note() обеспечивает доступ к этому множеству, чтобы
получить информацию, установленную обработчиком на ранней стадии процесса, и оставить эту информацию для обработчика на более
поздней стадии.
Например, если для идентификации пользователей и сохранения значений переменных во время запроса используется модуль сеанса, то
это можно объединить с анализом файла журнала, и поэтому можно
определить среднее количество просмотров страницы в расчете на одного пользователя. Совместное применение функции apache_note() и
журнального модуля позволяет записать идентификатор сеанса прямо
в файл access_log для каждого запроса:
// извлекаем идентификатор сеанса и добавляем его
// в множество notes table веб-сервера Apache
apache_note('session_id', session_id());
Затем модифицируйте файл httpd.conf, добавляя следующую строку к LogFormat:
%{session_id}n
Заключительный символ n указывает Apache на необходимость использовать переменную, сохраненную в его таблице уведомлений (notes table) другим модулем.
Если PHP скомпилирован с параметром конфигурации -- enable-memory-limit, то он запоминает максимальный размер памяти, занимаемой
каждым запросом, в его записи, называемой mod_php_memory_usage. Добавьте информацию о распределении памяти в LogFormat:
%{mod_php_memory_usage}n
Документацию по функции apache_note() на http://www.php.net/apache-note; информацию по журналированию в Apache на http://httpd.apache.org/docs/mod/mod_log_config.html.