使用Laravel,我可以使用request()->ip()
获取客户端IP。
是否有 Laravel内置方式来获取服务器IP?或者它是“不可能的”(与SERVER_ADDR
可靠性相同的问题)
答案 0 :(得分:11)
您可以使用请求对象:
request()->server('SERVER_ADDR');
或者你可以使用标准的PHP方式:
$_SERVER['SERVER_ADDR'];
答案 1 :(得分:2)
$_SERVER['SERVER_ADDR']; for server ip
$_SERVER['SERVER_PORT']; for server port
答案 2 :(得分:1)
Request::server('SERVER_ADDR')
:)
网址参考:https://laravel.com/api/5.3/Illuminate/Http/Request.html
答案 3 :(得分:0)
对不起,为什么对我来说laravel 5.4才有效:
ui <- fluidPage(
title = "TestApp",
h1("Test Application"),
sidebarLayout(
sidebarPanel(
sliderInput("bins", "Bins", 2, 20, 1, value = 10)
),
mainPanel(
fluidRow(
div(id="p1", uiOutput("plotPanel1")),
div(id="p2", uiOutput("plotPanel2"))
)
)
),
tags$head(
tags$style(HTML("
@media screen and (min-width: 1000px) {
#plotPanel1 {
display: none;
}
#plotPanel2 {
display: block;
}
}
@media screen and (max-width: 1000px) {
#plotPanel1 {
display: block;
}
#plotPanel2 {
display: none;
}
}
"
))
)
)
server <- function(input, output, session){
plot1 <- reactive({
ggplot(lm(mpg ~ ., data = mtcars), aes(.resid)) +
geom_histogram(bins = input$bins)
})
plot2 <- reactive({
ggplot(lm(UrbanPop ~ ., data = USArrests), aes(.resid)) +
geom_histogram(bins = input$bins)
})
plot3 <- reactive({
ggplot(lm(uptake ~ ., data = CO2), aes(.resid)) +
geom_histogram(bins = input$bins)
})
output$plotPanel1 <- renderUI({
tagList(
tabsetPanel(
tabPanel(
"plot1",
renderPlot(plot1())
),
tabPanel(
"plot2",
renderPlot(plot2())
),
tabPanel(
"plot3",
renderPlot(plot3())
)
)
)
})
output$plotPanel2 <- renderUI({
tagList(
fluidRow(
column(
4,
renderPlot(plot1())
),
column(
4,
renderPlot(plot2())
),
column(
4,
renderPlot(plot3())
)
)
)
})
}
runApp(shinyApp(ui, server))
但返回NULL
和两者
request()->server('SERVER_ADDR');
这取决于我使用内置服务器或是我的应用程序的设置问题? 感谢
答案 4 :(得分:0)
如果使用的是IIS,则只能使用来获取服务器IP
$ _ SERVER ['LOCAL_ADDR']
如果是LINUX,请使用:
$ _ SERVER ['SERVER ADDR'];
/** ServerIP 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']
答案 5 :(得分:0)
您可以在服务器上使用这种方式。
$_SERVER['SERVER_ADDR'];
但是您不能在本地访问SERVER_ADDR
索引。它将通过Undefined index: SERVER_ADDR
错误。就我而言,我会遇到此错误。
更好的解决方案是使用 .env 文件中的变量,该变量也将在本地和服务器上运行。
像这样在.env
文件中定义一个变量。您可以输入任何想要的名字。
SERVER_ADDR = 127.0.0.1
注意:请注意,SERVER_ADDR
的值应为127.0.0.1
或localhost
才能获取服务器地址值。
现在您可以像这样访问此变量:
env('SERVER_ADDR');
答案 6 :(得分:-1)
这也给你IP
request()->getHost();