Laravel 的 `$request->ip()` 没有 return IP 地址的最后一位
Laravel's `$request->ip()` doesn't return the last digit of the IP address
我正在使用 Laravel 5、PHP 7 和 Homestead,但出于某种原因,当我尝试访问 $request->ip()
时,我返回了 192.168.10.1
。但是在我的 /etc/hosts
文件中我有 192.168.10.10 homestead.test
。然后当我 var_dump($request);
我得到以下
...
'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)
有没有人见过从 IP 地址中删除最后一个值的地方?
在您的情况下,$request->ip()
表示 REMOTE_ADDR
,这是您的浏览器正在使用的 IP(192.168.10.1
)。
SERVER_NAME
和 SERVER_ADDR
是 homestead.test
和 192.168.10.10
,这是您的虚拟主机的名称和虚拟主机的 IP。
你的一台电脑的IP是192.168.10.1
,你homestead的IP是192.168.10.10
。因此,当您访问 PHP 程序时,您的浏览器正在使用 192.168.10.1
连接到 homestead 的 192.168.10.10
。
我正在使用 Laravel 5、PHP 7 和 Homestead,但出于某种原因,当我尝试访问 $request->ip()
时,我返回了 192.168.10.1
。但是在我的 /etc/hosts
文件中我有 192.168.10.10 homestead.test
。然后当我 var_dump($request);
我得到以下
...
'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)
有没有人见过从 IP 地址中删除最后一个值的地方?
在您的情况下,$request->ip()
表示 REMOTE_ADDR
,这是您的浏览器正在使用的 IP(192.168.10.1
)。
SERVER_NAME
和 SERVER_ADDR
是 homestead.test
和 192.168.10.10
,这是您的虚拟主机的名称和虚拟主机的 IP。
你的一台电脑的IP是192.168.10.1
,你homestead的IP是192.168.10.10
。因此,当您访问 PHP 程序时,您的浏览器正在使用 192.168.10.1
连接到 homestead 的 192.168.10.10
。