3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function getUserIP() { $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } return $ip; } $ipAddr = getUserIP(); $geoIP = json_decode(file_get_contents("http://freegeoip.net/json/$ipAddr"), true); echo 'lat: ' . $geoIP['latitude'] . '<br />'; echo 'long: ' . $geoIP['longitude']; ?>
Output for 5.3.18 - 5.4.45, 5.5.33, 5.6.18 - 5.6.19, 7.0.4, 7.0.20, 7.1.5 - 7.2.0
Notice: Undefined index: REMOTE_ADDR in /in/XonvS on line 1 Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: System error in /in/XonvS on line 1 Warning: file_get_contents(http://freegeoip.net/json/): failed to open stream: php_network_getaddresses: getaddrinfo failed: System error in /in/XonvS on line 1 lat: <br />long:
Output for 5.5.24 - 5.5.32, 5.5.34 - 5.6.17, 5.6.20 - 7.0.3, 7.0.5 - 7.0.6, 7.1.0
Notice: Undefined index: REMOTE_ADDR in /in/XonvS on line 1 Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/XonvS on line 1 Warning: file_get_contents(http://freegeoip.net/json/): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /in/XonvS on line 1 lat: <br />long: