使用 torann/geoip 的 ipapi 和 maxmind_database 这两个 service,在 tinker 模式下正常,写在代码里无报错,返回一个空对象
参考官方文档: http://lyften.com/projects/laravel-geoip/d...
和论坛文档:https://learnku.com/courses/laravel-packag...
( 突然可以显示IP信息,原因应该是代码代码缓存之类的,具体原因不清楚)
(发现1: 使用 ipapi 比使用 maxmind_database的结果更真实具体; 发现2:当所查IP 不在 maxmind_database的IP 文件没有收集时会显示默认设置的 IP 信息)
环境是:homestead
框架版本: 5.5
问题详情:
使用torann/geoip 的 ipapi 和 maxmind_database 这两个service,
- 在 tinker模式下正常,
- 写在代码里无报错,返回一个空对象
- 个人寻找原因,只能找到 Torann\GeoIP\GeoIP 对应的 getService方法返回的对象为空,具体原因不清楚??
求解。
a. 一开始认为是命名空间的问题,但是 tinker 模式下,执行 geoip() 可以返回到具体的 类名;
b. 同时在 对应的配置文件 的 各个 serveice 对应类文件的 命名空间 前面加上和去掉 \ 都是返回空对象,同时在 tinker 模式下工作正常,
问题运行截图
(service 为 ipapi)
tinker 模式下
代码模式(对应的是一个接口方法,路由指定到该方法)
代码运行结果:(浏览器访问)
(service 为 maxmind_database)
tinker 模式下
代码不变
代码运行结果:(浏览器访问)
运行结果格式正常:
测试:
最后也排除了 命名空间的问题,但是也不是很清楚怎么出现这样的问题的。
(问题已消失)
推荐文章: