Hace unos días fui consultado por un colega español respecto de porque a veces funciona y a veces no la variable de entorno REMOTE_ADDR, a lo cual le pedí que me diera un poco de tiempo para poder averiguarle, probe en varios servidores y la variable funcionaba correctamente, cosa que me desconcerto un poco.
Hace un rato se me ocurrió probar nuevamente pero en un servidor el cual se que me requiere que a cada variable le ponga el método con el que es pasado (ya sea Post o Get independientemente que venga o no de un formulario).
En una primera prueba lo hice así:

<?
echo '<h1>'.$REMOTE_ADDR.'</h1>';
?>

Con la cual no pude obtener resultado alguno, y pasé a intentarlo así:
<?
echo '<h1>'.$_SERVER['REMOTE_ADDR'].'</h1>';
?>

Con ésta última forma de enunciar la variable obtube el resultado esperado.

Luego de eso y no contento busqué en la documentación de PHP para ver que decia respecto de variables de entorno o predefinidas y lo que encontre fue lo siguiente:

$_SERVER es una matriz que contiene información tal como cabeceras, rutas y ubicaciones de scripts. Las entradas de esta matriz son creadas por el servidor web. No existen garantías de que cada servidor vaya a proveer alguno de estos valores; puede que los servidores omitan algunos, o provean otros que no se listan aquí.

PHP Variables predefinidas