Laravel` $ request-> ip()`不返回IP地址的最后一位

Laravel` $ request-> ip()`不返回IP地址的最后一位

问题描述:

I'm using Laravel 5, PHP 7, and Homestead, and for some reason when I try to access $request->ip() I get back 192.168.10.1. But in my /etc/hosts file I have 192.168.10.10 homestead.test. Then when I var_dump($request); I get the following

...
 'HTTP_HOST' => string 'homestead.test' (length=14)
 'REDIRECT_STATUS' => string '200' (length=3)
 'SERVER_NAME' => string 'homestead.test' (length=14)
 'SERVER_PORT' => string '80' (length=2)
 'SERVER_ADDR' => string '192.168.10.10' (length=13)
 ...
 'REMOTE_ADDR' => string '192.168.10.1' (length=12)

Has anyone seen this before where the last value gets trimmed from the IP address?

我正在使用Laravel 5,PHP 7和Homestead,当我尝试访问 $ request-> ip() code>我回来了 192.168.10.1 code>。 但是在我的 / etc / hosts code>文件中,我有 192.168.10.10 homestead.test code>。 然后当我 var_dump($ request); code>时,我得到以下 p>

  ... 
'HTTP_HOST'=> 字符串'homestead.test'(长度= 14)
'REDIRECT_STATUS'=> 字符串'200'(长度= 3)
'SERVER_NAME'=> 字符串'homestead.test'(长度= 14)
'SERVER_PORT'=> 字符串'80'(长度= 2)
'SERVER_ADDR'=> 字符串'192.168.10.10'(长度= 13)
 ... 
'REMOTE_ADDR'=> 字符串'192.168.10.1'(长度= 12)
  code>  pre> 
 
 

在从IP地址修剪最后一个值之前有没有人看过这个? p> DIV>

In your case, $request->ip() means REMOTE_ADDR, which is the IP(192.168.10.1) your browser is using.

SERVER_NAME and SERVER_ADDR is homestead.test and 192.168.10.10, that's your web host's name and your web host's IP.

One of your computer's IP is 192.168.10.1, your homestead's IP is 192.168.10.10. So when you access your PHP program, your browser is using 192.168.10.1 to connect to homestead's 192.168.10.10.