Я столкнулся с проблемой. У меня есть журнал в ящике Linux, в котором записывается вывод нескольких запущенных процессов. Иногда этот файл может стать действительно большим, и мне нужно прочитать последнюю строку из этого файла.
Проблема заключается в том, что это действие будет вызвано через запрос AJAX довольно часто, и когда размер файла этого журнала превышает 5-6 МБ, он скорее не подходит для сервера. Поэтому я думаю, что мне нужно прочитать последнюю строку, но не читать весь файл и не передавать его или загружать в ОЗУ, потому что это будет просто загружать в мою коробку.
Есть ли какая-либо оптимизация для этой операции, чтобы она работала бесперебойно, а не повредила сервер или убила Apache?
Другим вариантом, который у меня есть, является exec('tail -n 1 /path/to/log')
, но это звучит не так хорошо.
Далее отредактируйте: Я НЕ хочу помещать файл в ОЗУ, потому что он может стать огромным. fopen()
не является вариантом.