如何通过PHP打开并输出mysql日志文件的最后15行?

如何通过PHP打开并输出mysql日志文件的最后15行?,php,mysql,Php,Mysql,我想从CentOS服务器打开并读取mysql错误日志文件。是否可以通过PHP读取和输出此文件的最后15行/var/lib/mysql/{SERVER_NAME}.err 我试过跟随 <?php $file = '/var/lib/mysql/myserver_name.com.err'; $filearray = file($file); $lastfifteenlines = array_slice($filearray,-15); var_dump($lastfifteenlines

我想从CentOS服务器打开并读取mysql错误日志文件。是否可以通过PHP读取和输出此文件的最后15行<代码>/var/lib/mysql/{SERVER_NAME}.err

我试过跟随

<?php
$file = '/var/lib/mysql/myserver_name.com.err';

$filearray = file($file);
$lastfifteenlines = array_slice($filearray,-15);
var_dump($lastfifteenlines);
?> 

但这表明

致命错误:第4行的/home/myserver_name/public_html/test.php中允许的33554432字节内存已耗尽(尝试分配854157212字节)

因为错误日志文件大小几乎为1GB。那么我该如何解决这个问题呢我需要每隔5分钟检查一次mysql日志文件

我的要求与cPanel中的chkservd的要求相同,例如:

function tail($filename, $n = 10) {
    $file = fopen($filename,'r');
    fseek($file, $n*1024*-1,SEEK_END);
    while ($line = fgets($file)) {
        $lines[] = trim($line);
    }
    return array_slice($lines, -$n);
}

您可以通过tail命令直接从服务器执行此操作--“tail-n15/var/log/myserver.com.err”您还可以将其输出重定向到其他文本文件…您还可以每隔5分钟对其进行cron…@amdixon感谢它。此解决方案假定一行少于1024个字符。