使用 php 读取 /var/log 中的日志文件


Read log file in /var/log with php

如何使php可以读取/var/log/...中的日志文件。

我试过这段代码,但不起作用

<?php
    $file = "/var/log/smsd.log"; //gammu's sms log
    $data = file($file);
    $end = count($data);
    $first = $end-10;
    $number = range($first,$end);
    foreach($number as $n) {
        $log_data .= $data[$n]."'n";
    }
    echo $log_data;
?>

但是,如果我尝试使用此脚本读取同一文件夹中的文件,这是有效的。

"

但不起作用"不是错误消息。检查您的配置是否启用了错误报告。.

很可能是权限问题。如何解决此问题取决于您的操作系统以及您管理日志文件的方式(但您可能会在 chmod 和 logrorate 手册页中找到答案)。

顺便说一句,如果代码必须读取非常大的文件,您的代码也会崩溃。考虑使用

<pre><?php
   passthru('tail -10 /var/log/smsd.log');
?></pre>