我遇到了一个问题.我在Linux机器上登录,其中写了几个正在运行的进程的输出.这个文件有时会非常大,我需要从该文件中读取最后一行.
问题是这个动作将经常通过AJAX请求调用,当该日志的文件大小超过5-6MB时,它对服务器来说并不好.所以我想我必须阅读最后一行,但不要读取整个文件并通过它或将其加载到RAM中,因为这只会加载到我的盒子中.
是否有任何针对此操作的优化,以便它运行顺畅,不会损害服务器或杀死Apache?
我有的其他选择是,exec('tail -n 1 /path/to/log')但它听起来不太好.
稍后编辑:我不想把文件放在RAM中,因为它可能会变得很大.fopen()不是一种选择.
如何使用fseek逐行向后读取文件?
代码可能会有所帮助.必须跨平台和纯PHP.
提前谢谢了
问候
杰拉