如何使用Laravel获取服务器IP

egdjgwm8  于 12个月前  发布在  其他
关注(0)|答案(6)|浏览(167)

使用Laravel,我可以通过request()->ip()获取客户端IP。
有没有Laravel内置的方法来获取服务器IP?或者是“不可能”的事情(与SERVER_ADDR可靠性相同的问题)

iecba09b

iecba09b1#

可以使用request object:

request()->server('SERVER_ADDR');

字符串
或者你可以使用标准的PHP方式:

$_SERVER['SERVER_ADDR'];

rsaldnfx

rsaldnfx3#

$_SERVER['SERVER_ADDR']; for server ip
$_SERVER['SERVER_PORT']; for server port

字符串

czfnxgou

czfnxgou4#

您可以在服务器上使用此方法。

$_SERVER['SERVER_ADDR'];

字符串
但是你不能在本地访问SERVER_ADDR索引。它将通过Undefined index: SERVER_ADDR错误。在我的情况下,我面临这个错误。
一个更好的解决方案是使用**.env**文件中的变量,它可以在本地和服务器上工作。
.env文件中定义了一个变量,你可以给予任何你想要的名字。

SERVER_ADDR = 127.0.0.1


注意:请注意SERVER_ADDR值应该是127.0.0.1localhost以获取服务器地址值。
现在你可以像这样访问这个变量:

env('SERVER_ADDR');

p1iqtdky

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']

字符串

0pizxfdo

0pizxfdo6#

您可以使用

$_SERVER['SERVER_ADDR'];

字符串
如果你是本地主机,::1可能会显示或您的主机IP地址!

相关问题