索引“server_name”不存在

时间:2012-11-05 14:28:29

标签: php variables constants global

我尝试执行一个蝙蝠,在这个文件中我尝试加入这个变量:

$_SERVER['SERVER_NAME']

但它并不存在这个指数。事实上,当我尝试print_r($_SERVER)时,没有SERVER_NAME索引。有原因吗?是因为我在蝙蝠中发射这个功能吗? 我有另一个解决方案来获得这个变量吗?

谢谢!

3 个答案:

答案 0 :(得分:5)

$_SERVER变量仅在服务器环境中可用(通过Apache或其他Web服务器托管PHP),因此如果从命令行启动它们,它们将无法使用。此对象的参数由HTTP标头填充,在您的情况下不存在。

如果您想在未设置$_SERVER时忽略SERVER_NAME对象,则可以替代使用php_uname("n"),但您的里程可能因操作系统而异。

$server_name = (isset($_SERVER['SERVER_NAME']))? // check if SERVER_NAME is set
    $_SERVER['SERVER_NAME'] :                    // if yes, use HTTP header value
    php_uname("n");                             // if no, use php_uname()

答案 1 :(得分:1)

尝试

echo %COMPUTERNAME%

相反,如果您正在通过bat文件启动。

答案 2 :(得分:0)

$_SERVER['SERVER_NAME']变量保存HTTP客户端在 Host HTTP头字段中提供的服务器名称。因为您不使用HTTP,所以未定义此变量。