需要一个主配置文件config.php
$line++;
while(!feof($fp)) {
}
fclose($fp);
<?php
ini_set("error_reprorting", "E_ALL");
ini_set("display_errors", "Off");
ini_set("log_errors", "On");
ini_set("error_log", "/opt/lampp/htdocs/error_log.log");
//此路径自行配置
查看日志文件error_log.php
<?php
require_once("config.php");
set_time_limit(0);
header("Content-type:text/html;charset=utf-8");
if($_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
//对除开发人员ip地址外的其他地址屏蔽可查看本日志
header('HTTP 1.1/404');
}
$line = 40;
if(function_exists('ini_get')) {
$error_log = ini_get('error_log');
} else {
$error_log = "/var/www/log/php_error.log";
}
$starttime = time();
readlog($error_log, $line, $starttime);
function readlog($file, $linefromlast, $starttime){
$i = 0;
$line = 0;
$fp = @fopen($file, "r");
while(stream_get_line($fp, 8192, "\n")) {
}
fseek($fp, 0);
//指针置0
if($fp) {
$i++;
$buffer = fgets($fp, 8192);
if($i <= ($line - $linefromlast)) {
continue;
}
echo $buffer . "<br />";
}
$endtime = time();
$havetime = $endtime - $starttime;
echo "在" . $line . "条记录中找出最后" . $linefromlast . "条记录耗时" . $havetime . "秒";
}
?>
最后用一个740MB左右的日志文件测了一下效率,运行结果如下: