使用Laravel,我可以通过request()->ip()获取客户端IP。有没有Laravel内置的方法来获取服务器IP?或者是“不可能”的事情(与SERVER_ADDR可靠性相同的问题)
request()->ip()
SERVER_ADDR
iecba09b1#
可以使用request object:
request()->server('SERVER_ADDR');
字符串或者你可以使用标准的PHP方式:
$_SERVER['SERVER_ADDR'];
型
ne5o7dgx2#
Request::server('SERVER_ADDR'):)URL引用:https://laravel.com/api/5.3/Illuminate/Http/Request.html
Request::server('SERVER_ADDR')
rsaldnfx3#
$_SERVER['SERVER_ADDR']; for server ip $_SERVER['SERVER_PORT']; for server port
字符串
czfnxgou4#
您可以在服务器上使用此方法。
字符串但是你不能在本地访问SERVER_ADDR索引。它将通过Undefined index: SERVER_ADDR错误。在我的情况下,我面临这个错误。一个更好的解决方案是使用**.env**文件中的变量,它可以在本地和服务器上工作。在.env文件中定义了一个变量,你可以给予任何你想要的名字。
Undefined index: SERVER_ADDR
.env
SERVER_ADDR = 127.0.0.1
型注意:请注意SERVER_ADDR值应该是127.0.0.1或localhost以获取服务器地址值。现在你可以像这样访问这个变量:
127.0.0.1
localhost
env('SERVER_ADDR');
p1iqtdky5#
如果您使用的是IIS,则只能使用$_SERVER [服务器地址]如果是Linux,用途:$_SERVER_ADDR'];
/** Server IP Check **/ if(!isset($_SERVER['SERVER_ADDR']){ $_SERVER['SERVER_ADDR'] = $_SERVER['LOCAL_ADDR']; } /** Get Server IP **/ !isset($_SERVER['SERVER_ADDR']))?$_SERVER['LOCAL_ADDR']:$_SERVER['SERVER_ADDR']
0pizxfdo6#
您可以使用
字符串如果你是本地主机,::1可能会显示或您的主机IP地址!
6条答案
按热度按时间iecba09b1#
可以使用request object:
字符串
或者你可以使用标准的PHP方式:
型
ne5o7dgx2#
Request::server('SERVER_ADDR')
:)URL引用:https://laravel.com/api/5.3/Illuminate/Http/Request.html
rsaldnfx3#
字符串
czfnxgou4#
您可以在服务器上使用此方法。
字符串
但是你不能在本地访问
SERVER_ADDR
索引。它将通过Undefined index: SERVER_ADDR
错误。在我的情况下,我面临这个错误。一个更好的解决方案是使用**.env**文件中的变量,它可以在本地和服务器上工作。
在
.env
文件中定义了一个变量,你可以给予任何你想要的名字。型
注意:请注意
SERVER_ADDR
值应该是127.0.0.1
或localhost
以获取服务器地址值。现在你可以像这样访问这个变量:
型
p1iqtdky5#
如果您使用的是IIS,则只能使用
$_SERVER [服务器地址]
如果是Linux,用途:
$_SERVER_ADDR'];
字符串
0pizxfdo6#
您可以使用
字符串
如果你是本地主机,::1可能会显示或您的主机IP地址!