问题描述
到目前为止我已经尝试过:
echo gethostbyname(gethostname());
但这给了我“本地”IP(不确定这是否正确)127.0.0.1
,而我想要“公共”IP地址。
例如,对于网站 stackoverflow.com,我在使用网站服务 https://ipinfo.info 时得到 151.101.193.69
......这就是我正在寻找的。p>
解决方法
使用此代码,
function getIPAddress() {
//whether ip is from the share internet
if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
//whether ip is from the proxy
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
//whether ip is from the remote address
else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}