# PHP/Programmazione/Variabili globali/$ SERVER

PHP
Copertina Tutti i moduli · Sviluppo
    CopertinaPHP/Copertina
* IntroduzionePHP/Introduzione
** StoriaPHP/Introduzione/Storia
** Come funzionaPHP/Introduzione/Come funziona
* Installazione e configurazionePHP/Installazione e configurazione
** InstallazionePHP/Installazione
*** LinuxPHP/Installazione/Linux
*** WindowsPHP/Installazione/Windows
*** Mac OS XPHP/Installazione/Mac OS X
** ConfigurazionePHP/Configurazione
* ProgrammazionePHP/Programmazione
** CommentiPHP/Programmazione/Commenti
** VariabiliPHP/Programmazione/Variabili
** OperatoriPHP/Programmazione/Operatori
** ArrayPHP/Programmazione/Array
** CondizioniPHP/Programmazione/Condizioni
** CicliPHP/Programmazione/Cicli
** Funzioni di basePHP/Programmazione/Funzioni di base
** Funzioni personalizzatePHP/Programmazione/Funzioni personalizzate
** Variabili globaliPHP/Programmazione/Variabili globali
*** $GLOBALSPHP/Programmazione/Variabili globali/$GLOBALS
*** $_GETPHP/Programmazione/Variabili globali/$_GET
*** $_POSTPHP/Programmazione/Variabili globali/$_POST
*** $_SESSIONPHP/Programmazione/Variabili globali/$_SESSION
*** $_COOKIEPHP/Programmazione/Variabili globali/$_COOKIE
*** $_SERVERPHP/Programmazione/Variabili globali/$_SERVER
** FilePHP/Programmazione/File
** ImmaginiPHP/Programmazione/Immagini
** Espressioni regolariPHP/Programmazione/Regexp
** Programmazione orientata agli oggettiPHP/Programmazione/OOP
* Programmazione avanzata con le classi PEARPHP/PEAR
* PHP e i databasePHP/Database
** Funzioni PHP per l'accesso ai database
*** Funzioni MySQLPHP/Programmazione/MySQL
**** Accesso al databasePHP/Programmazione/MySQL/Accesso al database
**** QueryPHP/Programmazione/MySQL/Query
**** Risultati di una queryPHP/Programmazione/MySQL/Risultati di una query
**** Liberare memoria dai risultati di una queryPHP/Programmazione/MySQL/Liberare memoria dai risultati di una query
**** Chiudi connessione al dbPHP/Programmazione/MySQL/Chiudi connessione al db
*** Funzioni PostgreSQLPHP/PostgreSQL
**** Accesso al database
**** Query
**** Risultati di una query
*** Funzioni Sqlite
**** Accesso al database
**** Query
**** Risultati di una query
** Database e object oriented
*** Abstraction Layers
**** PDO - Php Data Objects
**** PEAR::MDB2
**** Creole
*** Object Relational Mapping (ORM)
**** PEAR:DB_DataObject
**** PEAR:DB_Table
**** Propel
* PHP Design PatternPHP/PHP Design Pattern
* SmartyPHP/Smarty
* Sicurezza delle applicazioni web
* PHP CLI: Command Line InterpreterPHP/Cli
* PHP GTK2: applicazioni desktop in PHPPHP/Gtk
* Crediti
Modifica il sommario

## Cos'è

$_SERVER (o $HTTP_SERVER_VARS se la versione PHP è inferiore alla 4.1.0) è una delle variabili globali predefinite di sistema.
In sostanza è un array associativo di chiavi e valori i cui elementi sono rappresentati da informazioni riguardanti il lato server, il lato client e la connessione tra di essi.

## Utilizzo

È possibile accedere agli elementi di questo array iterando su di essi con un ciclo foreach oppure reperire il singolo valore di un elemento se ne conosciamo la chiave. Nell'esempio seguente viene stampato l'indirizzo IP dell'utente:
Si noti che alcune chiavi restituiscono o meno un valore a seconda dello stato del server e del client. Ecco l'elenco delle chiavi in ordine alfabetico:
* argc il numero degli argomenti passati da linea di comando.
* argv l'array degli argomenti passati da linea di comando.
* AUTH_TYPE il tipo di autenticazione.
* DOCUMENT_ROOT la cartella radice dello script definita nel file di configurazione del server.
* GATEWAY_INTERFACE la versione delle specifiche CGI usate dal server.
* HTTP_ACCEPT
* HTTP_ACCEPT_CHARSET il tipo di carattere accettato.
* HTTP_ACCEPT_ENCODING il tipo di encoding accettato.
* HTTP_ACCEPT_LANGUAGE la lingua accettata, ad es. 'it'.
* HTTP_CONNECTION
* HTTP_HOST
* HTTP_REFERER se ne esiste uno contiene l'indirizzo della pagina precedente a quella attuale, utile per sapere da dove arriva chi accede al nostro sito.
* HTTP_USER_AGENT informazioni sul sistema operativo e browser del client, ad es.
    sono le informazioni lasciate dal bot di Google e
    per un utente che usa un sistema Linux e Mozilla Firefox
* PATH_TRANSLATED
* QUERY_STRING la querystring appesa, ottenibile anche con $_GET
* REMOTE_ADDR l'indirizzo IP del client.
* REMOTE_HOST
* REMOTE_PORT la porta usata dall'utente per effettuare la connessione.
* REQUEST_METHOD il tipo di richiesta fatto per accedere alla pagina, ad esempio 'GET' o 'POST'.
* REQUEST_TIME il timestamp all'inizio della richiesta (solo dalla versione 5.1.0 di PHP).
* REQUEST_URI la URI usata per accedere questa pagina.
* SERVER_ADMIN l'amministratore del server dal file di configurazione del server.
* SERVER_NAME il nome dell' host dove lo script viene eseguito.
* SERVER_PORT la porta usata dal server.
* SERVER_PROTOCOL il nome e la versione del protocollo tramite il quale è stata richiesta la pagina ad esempio 'HTTP/1.1'.
* SERVER_SIGNATURE la firma del server contenente versione e host name.
* SERVER_SOFTWARE la stringa di identificazione del server.
* SCRIPT_FILENAME il percorso assoluto dello script in esecuzione.
* SCRIPT_NAME il nome del file.