How do I get my system's IP address?
I am using $ip_address=$_SERVER[REMOTE_ADDR];, but it returns my localhost IP address instead of my system's IP address.
How do I get my system's IP address?
I am using $ip_address=$_SERVER[REMOTE_ADDR];, but it returns my localhost IP address instead of my system's IP address.
$_SERVER['SERVER_ADDR']
See the php docs for a full list of stuff you might find in the $_SERVER superglobal.
This function will determine the real IP address:
function ipCheck() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_X_FORWARDED')) { $ip = getenv('HTTP_X_FORWARDED'); } elseif (getenv('HTTP_FORWARDED_FOR')) { $ip = getenv('HTTP_FORWARDED_FOR'); } elseif (getenv('HTTP_FORWARDED')) { $ip = getenv('HTTP_FORWARDED'); } else { $ip = $_SERVER['REMOTE_ADDR']; } return $ip; } A late reply but I hope it still might be able to help someone. I needed system ip for a project so I quickly scrapped up a custom function using regular expressions. It works on ubuntu linux (and technically should work on any distro/version of linux).
function getLocalIp(){ $output = shell_exec('/sbin/ifconfig'); preg_match("/inet?[[:space:]]?addr:([0-9.]+)/", $output, $matches); if(isset($matches[1])) $ip = $matches[1]; else $ip = 0; return $ip; } It requires:
If you happen to create something similar for windows or improve the functionality of this function, please share your code with the rest of us.