$_SERVER
  $HTTP_SERVER_VARS [eliminado]
  (PHP 4 >= 4.1.0, PHP 5, PHP 7)
$_SERVER -- $HTTP_SERVER_VARS [eliminado] — Información del entorno del servidor y de ejecución
  
 
 
  Descripción
  
   $_SERVER es un array que contiene información, tales 
   como cabeceras, rutas y ubicaciones de script. Las entradas de este
   array son creadas por el servidor web. No hay garantía que cada
   servidor web proporcione alguna de estas entradas, existen servidores que
   pueden omitir algunas o proporcionar otras no recogidas aquí. Un gran
   número de estas variables se encuentran recogidas en » especificación CGI 1.1, así que al menos
   debe esperar encontrar estas entradas. 
  
  Nota: 
   
    Antes de PHP 5.4.0, $HTTP_SERVER_VARS contenía la misma información
    inicial, aunque no era una superglobal.
    (Observe que $HTTP_SERVER_VARS y $_SERVER
    eran variables diferentes, por lo que PHP las trata de forma distinta).
   
  
  
 
 
  Índices
  
  
   Puede encontrar o no los siguientes elementos en $_SERVER.
   Tenga en cuenta que si ejecuta PHP desde 
   línea de comando pocos o ninguno
   de los siguientes elementos estarán disponibles (o tendrán algún significado).
  
  
  
   
    
     - 
'PHP_SELF'
- 
      
       El nombre del archivo de script ejecutándose actualmente, relativa al 
       directorio raíz de documentos del servidor. Por ejemplo, el valor de 
       $_SERVER['PHP_SELF'] en un script ejecutado en la 
       dirección http://example.com/foo/bar.php 
       será /foo/bar.php.
       La constante __FILE__
       contiene la ruta completa del fichero actual, incluyendo el nombre del archivo.
      
      
       Si PHP se está ejecutando como un proceso de línea de comando, esta variable es
       el nombre del script desde PHP 4.3.0. En anteriores versiones no estaba
       disponible.
      
     
- 
'argv'
- 
      
       Array de los argumentos enviados al script. Cuando se ejecuta el 
       script en línea de comando se obtiene acceso a los parámetros de 
       línea de comando con un estilo parecido a como sería en C. Cuando se
       ejecuta el script mediante el método GET, contendrá la cadena de la consulta.
      
     
- 
'argc'
- 
      
       Contiene el número de parámetros de línea de comando enviados 
       al script (si se ejecuta en línea de comando).
      
     
- 
'GATEWAY_INTERFACE'
- 
      
       Número de revisión de la especificación CGI que está empleando el 
       servidor, por ejemplo 'CGI/1.1'.
      
     
- 
'SERVER_ADDR'
- 
      
       La dirección IP del servidor donde se está ejecutando actualmente
       el script.
      
     
- 
'SERVER_NAME'
- 
      
       El nombre del host del servidor donde se está ejecutando actualmente
       el script. Si el script se ejecuta en un host virtual se 
       obtendrá el valor del nombre definido para dicho host virtual.
      
      Nota: 
       
        Bajo Apache 2, se debe establecer UseCanonicalName = On
        y ServerName. De lo contrario, este valor refleja el
        nombre del host proporcionado por el cliente, el cual se puede burlar.
        No es seguro depender de este valor en contextos que necesiten seguridad.
       
       
 
- 
'SERVER_SOFTWARE'
- 
      
       Cadena de identificación del servidor dada en las cabeceras de 
       respuesta a las peticiones.
      
     
- 
'SERVER_PROTOCOL'
- 
      
       Nombre y número de revisión del protocolo de información
       a través del cual la página es solicitada, por ejemplo 
       'HTTP/1.0'.
      
     
- 
'REQUEST_METHOD'
- 
      
       Método de petición empleado para acceder a la página, por ejemplo 'GET',
       'HEAD', 'POST', 'PUT'.
      
      Nota: 
        
        El script de PHP se considera terminado después de enviar las cabeceras
        (es decir después de producir cualquier resultado sin emplear buffers para el
        resultado) si el método de la petición empleado era HEAD.
        
 
- 
'REQUEST_TIME'
- 
      
       Fecha Unix de inicio de la petición. Disponible desde PHP 5.1.0.
      
     
- 
'REQUEST_TIME_FLOAT'
- 
      
       El timestamp del inicio de la solicitud, con precisión microsegundo.
       Disponible desde PHP 5.4.0.
      
     
- 
'QUERY_STRING'
- 
      
       Si existe, la cadena de la consulta de la petición de la página.
      
     
- 
'DOCUMENT_ROOT'
- 
      
       El directorio raíz de documentos del servidor en el cual se 
       está ejecutando el script actual, según está definida en el
       archivo de configuración del servidor.
      
     
- 
'HTTP_ACCEPT'
- 
      
       Contenido de la cabecera Accept: de la petición
       actual, si existe.
      
     
- 
'HTTP_ACCEPT_CHARSET'
- 
      
       Contenido de la cabecera Accept-Charset: de la petición
       actual, si existe. Por ejemplo: 'iso-8859-1,*,utf-8'.      
      
     
- 
'HTTP_ACCEPT_ENCODING'
- 
      
       Contenido de la cabecera Accept-Encoding: de la petición
       actual, si existe. Por ejemplo: 'gzip'.
      
     
- 
'HTTP_ACCEPT_LANGUAGE'
- 
      
       Contenido de la cabecera Accept-Language: de la petición
       actual, si existe. Por ejemplo: 'en'.
      
     
- 
'HTTP_CONNECTION'
- 
      
       Contenido de la cabecera Connection: de la petición
       actual, si existe. Por ejemplo: 'Keep-Alive'.
      
     
- 
'HTTP_HOST'
- 
      
       Contenido de la cabecera Host: de la petición
       actual, si existe.
      
     
- 
'HTTP_REFERER'
- 
      
       Dirección de la pagina (si la hay) que emplea el agente de usuario para 
       la pagina actual. Es definido por el agente de usuario. No todos los
       agentes de usuarios lo definen y algunos permiten modificar       
       HTTP_REFERER como parte de su funcionalidad. En 
       resumen, es un valor del que no se puede confiar realmente.
      
     
- 
'HTTP_USER_AGENT'
- 
      
       Contenido de la cabecera User-Agent: de la petición
       actual, si existe. Consiste en una cadena que indica el agente
       de usuario empleado para acceder a la pagina. Un ejemplo típico
       es: Mozilla/4.5 [en] (X11; U;
       Linux 2.2.9 i586). Entre otras opciones, puede emplear
       dicho valor con get_browser() para personalizar
       el resultado de la salida de la página en función de las capacidades 
       del agente de usuario empleado.
      
     
- 
'HTTPS'
- 
      
       Ofrece un valor no vacío si el script es pedido mediante el protocolo
       HTTPS.
      
      Nota: 
       
        Tenga en cuenta que si se emplea ISAPI con IIS el valor será 
        off si la petición no se ha realizado a través
        del protocolo HTTPS.
       
       
 
- 
'REMOTE_ADDR'
- 
      
       La dirección IP desde la cual está viendo la página actual el usuario.
      
     
- 
'REMOTE_HOST'
- 
      
       El nombre del host desde el cual está viendo la página actual el usuario. La 
       obtención inversa del dns está basada en la REMOTE_ADDR 
       del usuario.
      
      Nota: 
       
        Su servidor web debe estar configurado para crear esta variable. Por 
        ejemplo en Apache necesita que exista HostnameLookups On
        dentro de httpd.conf. Consulte tambien gethostbyaddr().
       
       
 
- 
'REMOTE_PORT'
- 
      
       El puerto empleado por la máquina del usuario para comunicarse 
       con el servidor web.
      
     
- 
'REMOTE_USER'
- 
      
       El usuario autenticado.
      
     
- 
'REDIRECT_REMOTE_USER'
- 
      
       El usuario autenticado si la petición es redirigida internamente.
      
     
- 
'SCRIPT_FILENAME'
- 
      
       La ruta del script ejecutándose actualmente en forma absoluta.
        Nota: 
         
         Si un script se ejecuta mediante CLI como ruta relativa, como 
         por ejemplo file.php o
         ../file.php, entonces
         $_SERVER['SCRIPT_FILENAME'] contendrá
         la ruta relativa especificada por el usuario.
         
 
- 
'SERVER_ADMIN'
- 
      
       El valor dado a la directiva SERVER_ADMIN (de Apache) en el
       archivo de configuración del servidor web. Si el script se
       está ejecutando en un host virtual, el valor dado será el
       definido para dicho host virtual.
      
     
- 
'SERVER_PORT'
- 
      
       El puerto de la máquina del servidor usado por el servidor web
       para la comunicación. Para las configuraciones por omisión, 
       el valor será '80'; el empleo de SSL, por ejemplo,
       cambiará dicho valor al valor definido para el puerto HTTP seguro.
      
      Nota: 
       
        Bajo Apache 2, se debe establecer UseCanonicalName = On, 
        así como UseCanonicalPhysicalPort = On para poder
        obtener el puerto físico (real), de otro modo, este valor podría ser burlado y
        podría o no devolver el valor del puerto físico.
        No es seguro confiar en este valor en contextos que requieran seguridad.
       
       
 
- 
'SERVER_SIGNATURE'
- 
      
       Cadena que contiene la versión del servidor y el nombre del host virtual
       que son añadidas a las páginas generadas por el servidor, si esta habilitada esta funcionalidad.
      
     
- 
'PATH_TRANSLATED'
- 
      
       Ruta de acceso basada en el sistema (no en el directorio raíz
       de documentos del servidor) del script actual, después de
       cualquier mapeo de virtual a real realizada por el servidor.
      
      Nota: 
       
        A partir de PHP 4.3.2, PATH_TRANSLATED no está
        definida de forma implícita en el SAPI de 
        Apache 2, en comparación a la situación de Apache 1, donde era 
        necesario establecer el mismo valor que la variable del servidor
        SCRIPT_FILENAME cuando no era proporcionada
        por Apache. Este cambio ha sido realizado para cumplir la 
        especificación CGI donde 
        PATH_TRANSLATED sólo debe existir si 
        PATH_INFO esta definida.
       
       
        Los usuarios de Apache 2 pueden emplear AcceptPathInfo = On
        dentro de httpd.conf para definir PATH_INFO.
       
       
 
- 
'SCRIPT_NAME'
- 
      
       Contiene la ruta del script actual. Esto es de utilidad para 
       las páginas que necesiten apuntarse a si mismas. La constante 
       __FILE__
       contiene la ruta absoluta y el nombre del archivo actual incluido.
      
     
- 
'REQUEST_URI'
- 
      
       La URI que se empleó para acceder a la página. Por ejemplo:
       '/index.html'.
      
     
- 
'PHP_AUTH_DIGEST'
- 
      
       Cuando se hace autenticación Digest HTTP, esta variable se establece
       para el encabezado 'Authorization' enviado por el cliente (el cual se
       debe entonces usar para hacer la validación apropiada).
      
     
- 
'PHP_AUTH_USER'
- 
      
       Cuando se hace autenticación HTTP, esta variable se establece para el
       nombre de usuario provisto por el usuario.
      
     
- 
'PHP_AUTH_PW'
- 
      
       Cuando se hace autenticación HTTP, esta variable se establece para la
       clave provista por el usuario.
      
     
- 
'AUTH_TYPE'
- 
      
       Cuando se realiza la autenticación HTTP, está variable se establece para el
       tipo de autenticación.
      
     
- 
'PATH_INFO'
- 
      
       Contiene cualquier información sobre la ruta proporcionada por el cliente 
       a continuación del nombre del fichero del script actual pero antecediendo 
       a la cadena de la petición, si existe. Por ejemplo, si el script actual
       se accede a través de la URL 
       http://www.example.com/php/path_info.php/some/stuff?foo=bar,
       entonces $_SERVER['PATH_INFO'] contendrá
       /some/stuff.
      
     
- 
'ORIG_PATH_INFO'
- 
      
       Versión original de 'PATH_INFO' antes de ser procesado por PHP.
      
     
 
 
 
 
 
  Ejemplos
  
   
    Ejemplo #1 Ejemplo de $_SERVER
    
<?php
echo $_SERVER['SERVER_NAME'];
?>
     
    El resultado del ejemplo 
sería algo similar a:
 
  
  
 
 
  Notas
  Nota: 
Esta es una 'superglobal' o
una variable automatic global. Significa simplemente que es una variable que está disponible en cualquier parte
del script. No hace falta hacer
global $variable; para acceder a la misma desde funciones o métodos.