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

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

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

设备型号等可以通过 user-agent 匹配,那么日志里面可以多打个 ua
分辨率得前端获取。
如果你需要 api 的请求数据和分辨率得做关联就需要前端请求时冗余一个设备 id 参数,然后前端把这个设备的详细信息上报。
suhui
2018-01-24 17:56:55 +08:00
@iyaozhen @MeteorCat @fcten 谢谢,看市面的别的统计工具会分配给用户一个 cookie,用来统计来源,然后怎么确定 JS 端获取的用户和 PHP 获取的用户是同一个呢?
MeteorCat
2018-01-24 18:25:12 +08:00
@suhui 实际上 HTTP 怎么确定唯一性讲究的是相对精确而非绝对精确,基于 HTTP 的无状态性,就这种情况你可以考虑 IP+cookie 这种方式,对于这种打点统计来说,你只要比对下大概来源 IP 和带有的 cookie 就行了,因为无论怎么样,浏览器可以清理 cookie,IP 可以使用代理,基于这种情况没必要强求数据绝对化
WildCat
2018-01-24 18:33:20 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/425487

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX