Controlla il contenuto di $_SERVER con print_r, ad ogni modo l'array $_SERVER viene riempito dal web server, e come scritto in questa pagina:

http://fr.php.net/manual/it/reserved...les.server.php

$_SERVER is an array containing information such as headers, paths, and script locations. The entries in this array are created by the web server. There is no guarantee that every web server will provide any of these; servers may omit some, or provide others not listed here.
tradotto:

$_SERVER è un array contenente informazioni come l'header, i percorsi e le locazioni degli script.
I dati inseriti in questo array sono creati dal webserver. Non c'è garanzia che ogni web server riempia tutte le proprietà listate. Alcuni server potrebbero ometterne qualcuna o implementarne altre non listate in questa pagina.