V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
suhui
V2EX  ›  PHP

laravel 有没有访客统计记录的库?

  •  
  •   suhui · 2018-01-24 11:12:27 +08:00 · 4900 次点击
    这是一个创建于 2500 天前的主题,其中的信息可能已经有所发展或是发生改变。
    20 条回复    2018-01-24 18:33:20 +08:00
    mokeyjay
        1
    mokeyjay  
       2018-01-24 11:29:47 +08:00
    为啥不用各种成熟的统计工具?
    evefree2
        2
    evefree2  
       2018-01-24 11:30:06 +08:00
    自己写一个不行吗?挖日志效率更好吧
    suhui
        3
    suhui  
    OP
       2018-01-24 11:32:03 +08:00
    @mokeyjay 成熟的工具统计不到 API 的请求,只能统计页面的
    suhui
        4
    suhui  
    OP
       2018-01-24 11:33:25 +08:00
    @evefree2 日志的统计的东西不太全
    iyaozhen
        5
    iyaozhen  
       2018-01-24 11:34:29 +08:00 via Android
    @suhui 日志哪里不全补哪里呀
    suhui
        6
    suhui  
    OP
       2018-01-24 11:37:12 +08:00
    @iyaozhen 日志只有一个 ip,我想知道用户是通过手机访问还是 PC 访问,微信访问 api 还是 APP 访问 api,设备的屏幕参数之类的
    lianyue
        7
    lianyue  
       2018-01-24 11:39:59 +08:00
    谁说统计工具不能统计 app 的
    suhui
        8
    suhui  
    OP
       2018-01-24 11:44:24 +08:00
    @lianyue 我没说不能统计,那个数据是独立的,我要的是后端聚合统计,不是单一的统计
    not4jerk
        9
    not4jerk  
       2018-01-24 12:15:10 +08:00
    自己写一个 laravel 中间件把$_server 里面的数据以 url 为 key, lpush 到 redis 日志系统完成,顺便记录一下 ip 的访问次数
    carlclone
        10
    carlclone  
       2018-01-24 12:44:35 +08:00
    好 chun
    caola
        11
    caola  
       2018-01-24 13:21:44 +08:00
    laravel 是一个框架,并没有你所说的什么鬼。
    要么自己找,要么自己开发
    Patrick95
        12
    Patrick95  
       2018-01-24 13:39:42 +08:00
    我这儿倒是知道一个追踪统计的包: https://github.com/antonioribeiro/tracker
    不知是否符合 LZ 需求。

    PS:看了回复感觉大家划水太严重。
    b821025551b
        13
    b821025551b  
       2018-01-24 13:56:23 +08:00
    写个中间件无脑记 log 有 10 分钟就搞定了,还要求个库?
    MeteorCat
        14
    MeteorCat  
       2018-01-24 14:09:37 +08:00 via Android
    可以建议加个 js,页面访问指定页面的时候自动 js 请求到 php 文件打点记录,我不建议在对应模块业务代码中编写侵入其他业务的功能,把他们归到一个地方之后请求,以后功能需求变动就能在一个地方改,而不是全局查询哪些地方需要更改
    MeteorCat
        15
    MeteorCat  
       2018-01-24 14:11:27 +08:00 via Android
    如果是 API 的话,可以使用 PHP 继承一个 RecordControlle 类,该类记录基础更加上级的类,而需要记录的地方之后基础他,并在他构造方法中执行打点记录
    fcten
        16
    fcten  
       2018-01-24 14:19:12 +08:00
    API 请求怎么可能知道屏幕参数……请求里面又没有这个东西。一般都是页面 js 统计发给后端的。
    至于手机、PC、微信、APP 的判断只要在日志里记录 User-Agent 就行了
    iyaozhen
        17
    iyaozhen  
       2018-01-24 17:50:27 +08:00 via Android
    @suhui 接楼上,你这是两个需求。

    设备型号等可以通过 user-agent 匹配,那么日志里面可以多打个 ua
    分辨率得前端获取。
    如果你需要 api 的请求数据和分辨率得做关联就需要前端请求时冗余一个设备 id 参数,然后前端把这个设备的详细信息上报。
    suhui
        18
    suhui  
    OP
       2018-01-24 17:56:55 +08:00
    @iyaozhen @MeteorCat @fcten 谢谢,看市面的别的统计工具会分配给用户一个 cookie,用来统计来源,然后怎么确定 JS 端获取的用户和 PHP 获取的用户是同一个呢?
    MeteorCat
        19
    MeteorCat  
       2018-01-24 18:25:12 +08:00 via Android
    @suhui 实际上 HTTP 怎么确定唯一性讲究的是相对精确而非绝对精确,基于 HTTP 的无状态性,就这种情况你可以考虑 IP+cookie 这种方式,对于这种打点统计来说,你只要比对下大概来源 IP 和带有的 cookie 就行了,因为无论怎么样,浏览器可以清理 cookie,IP 可以使用代理,基于这种情况没必要强求数据绝对化
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1338 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 23:36 · PVG 07:36 · LAX 15:36 · JFK 18:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.