Мне нужно записать статистические данные в живой файл Apache access_log (у меня есть другой процесс, который подсчитывает определенные строки в файле access_log, который периодически отчитывается перед другим процессом).
В настоящее время я просто заставляю запись в файле access_log, выполнив в php следующее:
file("http://127.0.0.1/logme.php?stuff_that_I_can_watch_here");
logme.php ничего не делает и возвращается пустым с 200 успехами.
Проблема с описанным выше методом заключается в том, что для каждого запроса к серверу Apache создается другой запрос для записи в журнал, что приводит к удвоению требуемых серверов Apache.
Когда серверы накапливаются, простой и обычно быстрый локальный вызов сервера Apache занимает более 5 секунд.
Могу ли я писать в файл access_log напрямую, не вызывая проблем, или, может быть, даже есть способ записи в файл apache_log с помощью php, аналогичного syslog() или error_log()?
error_log
, но об использовании отдельного файла журнала совершенно не может быть и речи? Похоже, это было бы намного проще. (Обновление: Ах, вы расширили свой комментарий, отвечая на мой вопрос) - person Pekka   schedule 17.12.2010virtual()
может работать быстрее, чем явный запрос? php.net/manual/en/function.virtual.php I понятия не имею, регистрируются ли эти звонки, хотя - person Pekka   schedule 17.12.2010