это всего лишь предположение, но попробуйте пропустить (passthru) вывод "tail -f".
но вам нужно будет найти способ очистить () ваш буфер.
ИМХО, гораздо более удачным решением было бы создание ajax-сайта.
прочитать содержимое файла в массив. сохранить количество строк в сеансе. распечатать содержимое файла.
запускать ajax-запрос каждые x секунд к скрипту, который проверяет файл, если число строк больше, чем число сеансов, добавьте результат на страницу.
Вы можете использовать popen () inststed:
$f = popen("tail -f /where/ever/your/file/is 2>&1", 'r');
while(!feof($f)) {
$buffer = fgets($f);
echo "$buffer\n";
flush();
sleep(1);
}
pclose($f)
сон важен, без него у вас будет 100% процессорного времени.