教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php解析nginx日志的实例代码

php解析nginx日志的实例代码

发布时间:2017-07-12   编辑:jiaochengji.com
分享一例php代码,用于解析nginx的日志,代码很简单,也很实用,有需要的朋友参考下。

本节内容:
php解析nginx日志

1,access_log日志格式
 

复制代码 代码示例:
log_format  main  '$server_name$remote_addr$remote_user[$time_local]"$request"' 
                  '$status$body_bytes_sent"$http_referer"' 
                  '"$http_user_agent""$http_x_forwarded_for"'; 

2,Nginx日志参数
 

server_name          : 虚拟主机的主机名称 
remote_addr          : 远程客户端的ip地址 
remote_user          : 远程客户端用户名称 
time_local           : 访问的时间与时区 
status           : 记录请求返回的http状态码 
body_bytes_sent      : 发送给客户端的文件主体内容的大小 
http_referer             : 从哪个页面链接访问过来  
http_user_agent      : 客户端浏览器信息 
http_x_forwarded_for     : 客户端的真实ip 

3,Nginx日志分割符
使用特殊的不可打印字符^A(ctrl+v,ctrl+a)作为日志分割符

4,根据关键字过滤文件内容

需求
根据http的请求里是否有“weibo”这个关键字提取文件的内容

例子:
 

复制代码 代码示例:
<?php
/**
 * Description:按行读取文件内容进行过滤匹配
 * site www.jbxue.com
 * @return array
 */ 
function readFileContent ($filename) 

    $weibo_content = array(); 
    $fh = @fopen($filename, 'r'); 
      www.jbxue.com
    if ($fh) { 
        while (! feof($fh)) { 
            $row = fgets($fh, 4096); 
            $row_arr = explode("", $row); 
            if (isset($row_arr[3]) && preg_match('/weibo/', $row_arr[3])) { 
                $weibo_content[] = $row_arr; 
            } 
        } 
    } 
    fclose($fh); 
     
    return $weibo_content; 

您可能感兴趣的文章:
php解析nginx日志的实例代码
nginx+php-fpm页面显示空白的解决方法
nginx下fastcgi_param运行php出现空白页的问题
Python解析nginx日志示例
分享nginx/php/mysql日志轮循的脚本
PHP 错误与异常的日志记录
CentOS6.1部署nginx、php(包括fastcgi)、虚拟主机配置
删除及设置linux日志笔记
php中Memcached连接超时问题解决办法
phpmyadmin偶尔响应慢的问题的解决方法

[关闭]
~ ~