李老师,Yii::$app->request->userip;获取不到值

来源:

chenjin521

2017-03-01

李老师,我用Yii::$app->request->userip;获得的值是::1,是怎么回事

写回答

3回答

Jason

2017-03-01

这个是ipv6的本地写法,类似于ipv4的127.0.0.1

0
0

慕姐8387086

2017-03-12

Yii::$app->request->userIP:表示通过http请求头获取到当前用户浏览器的ip地址(注:可通过$_SERVER[‘REMOTE_ADDR‘]获取到本地ip地址)
(说明1:使用127.0.0.1访问本地apache服务器,而不要用localhost,localhost对应的ip为::1,不符合数据库限制的bigint类型)
(说明2:关于web服务器的ip地址和域名映射关系是在C:\Windows\System32\drivers\etc\hosts文件中配置的

在C:\Windows\System32\drivers\etc\hosts文件中配置

127.0.0.1  localhost
        


0
0

chenjin521

提问者

2017-03-02

李老师谢谢您的回复,不过这种写法怎样才能转换成其他格式,'loginip' => ip2long(Yii::$app->request->userIP),这种写法在存数据库时会报错,我试的Yii::$app->request->userHost也是报错

0
1
Jason
这个可以做个判断,将::1转换为127.0.0.1,这个是比较简单的做法,或者查看这里http://php.net/manual/en/function.ip2long.php ,下面给出了解决方案
2017-03-02
共1条回复

Yii2.0开发一个仿京东商城平台

【毕设】购物、下单、支付、收货...各功能模块开发,打造京东式电商平台

1543 学习 · 655 问题

查看课程