2016-12-21 26 views
7

使用Laravel,我可以通過request()->ip()獲取客戶端IP。如何使用Laravel獲取服務器IP

是否有Laravel內置方式獲取服務器IP?或者是什麼 「不可能」(同樣的問題SERVER_ADDR可靠性)

+0

可能重複的[如何在PHP中識別服務器IP地址](http://stackoverflow.com/questions/5800927/how-to-identify-server-ip-address-in-php) – patricus

+0

@patricus謝謝。我的問題是關於內置的laravel方式。我沒有爲此標記「php」。這就是爲什麼我認爲它不是重複的。 –

+0

問題是laravel是建立在PHP之上的。如果PHP中沒有可靠的方法,laravel中就不會有可靠的方法。但是,正如已經回答的那樣,有一種訪問$ _SERVER超全局的方式,但正如你在你的問題中提到的那樣,仍然不可靠。 – patricus

回答

8

你可以使用請求對象:

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

或者你可以使用標準的PHP方式:

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

謝謝。我不希望客戶端IP,但服務器IP –

+0

ans更新檢查 –

0

原諒我,爲什麼我的laravel 5.4作品只是:

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

但返回NULL

兩者

Request::server('SERVER_ADDR') 
Request::server('LOCAL_ADDR') 

這從即時通訊使用的依賴內置的服務器或者是我的應用程序的設置問題? 謝謝