2010-04-06 65 views
1

我其实是通过问题1636644去的方式..并得到了与此不同的获取IP地址

" The getenv() function access to any environment variable to get the related value! " 

也搞不清楚..

" It would probably be better to use $_SERVER['REMOTE_ADDR']; to prevent incompatibilities between servers. " 

什么样的兼容性问题能这样??

最后,它说$ _SERVER是一个有很多元素的数组,但我在那里只找到IP地址..这个数组是否也存储了其他东西?

道歉所有这些问题装在一个..这是bcoz这些都与..

回答

1

看看有什么$_SERVER含有,只是做:

echo "<pre>"; 
print_r($_SERVER); 
echo "</pre>"; 

预标记只是使输出在浏览器中呈现的。

看到所有服务器的设置(和吨以上)环境变量,使一个脚本,只是有:

<?php 

phpinfo(); 

?> 

它会朝下方上市,为PHP Variables

环境变量的差异可以基于HTTP服务器(apache vs IIS)和其他因素,例如通过SSL提供页面。

+0

非常感谢[ 'ROMOTE_ADDR'],ROMOTE_ADDR,的gethostbyname()..我想这就是我一直在寻找的.. – Sachindra 2010-04-06 11:29:37

3

函数“GETENV”如果您的服务器API是ASAPI(IIS)不起作用。

source

另外,请参阅this link什么可以被包含在$ _SERVER变量中。

0

我认为这些不兼容性是因为Web服务器管理其环境变量的方式不同。

$ _SERVER变量本身管理这些差异。

回答你的最后一个问题,您可以访问$ _ SERVER数组变量是这样的:

$_SERVER['SCRIPT_NAME'] 
$_SERVER['REQUEST_URI'] 

等等......你可以看到这里的参考:http://www.php.net/manual/en/reserved.variables.server.php

1

$ _ SERVER可能包含大量信息;你可能感兴趣的:

  • HTTP_CLIENT_IP
  • HTTP_FORWARDED
  • HTTP_X_FORWARDED_FOR
  • REMOTE_ADDR
0

创建包含以下看到的$ _SERVER内容与主机沿着PHP页面有关您的服务器的其他有用信息

<?php phpinfo(); ?> 
0

$ _ SERVER使用此3种方式u能找到IP地址