Información del entorno del servidor y de ejecución
El lenguaje de programación PHP dispone de una variable global que contiene información relacionada con el servidor donde se esté corriendo la aplicación o página Web.
Esta variable se denomina $_SERVER y se trata de un array que contiene información, tales como cabeceras, rutas y localizaciones del código. Las entradas en este array son creadas por el servidor web. No existe garantía que cada servidor web proporcione todas estas entradas, ya que existen servidores que pueden omitir algunas o proporcionar otras.
La variable $_SERVER puede contener los siguientes índices:
‘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 $_PHP_SERVER[‘PHP_SELF’] en un script ejecutado en la dirección http://www.jose-aguilar.com/test.php será test.php.
‘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.
‘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, es decir ‘GET‘, ‘HEAD‘, ‘POST‘, ‘PUT‘.
‘REQUEST_TIME‘
Fecha Unix de inicio de la petición. Disponible desde PHP 5.1.0. Desde PHP 5.4.0 es un float con microsegundos.
‘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_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.
‘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.
Su servidor web debe estar configurado para crear esta variable. Por ejemplo en Apache necesita que exista HostnameLookups On dentro de httpd.conf.
‘REMOTE_PORT‘
El puerto empleado por la máquina del usuario para comunicarse con el servidor web.
‘REMOTE_USER‘
El usuario autenticado.
‘SCRIPT_FILENAME‘
La ruta del script ejecutándose actualmente en forma absoluta.
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.
‘SCRIPT_NAME‘
Contiene la ruta del script actual. Esto es de utilidad para las páginas que necesiten apuntarse a si mismas.
‘REQUEST_URI‘
La URI que se empleó para acceder a la página. Por ejemplo: ‘/index.html‘.
Entre otras más…
Veamos un ejemplo:
<?php echo $_SERVER['SERVER_NAME']; ?>
El resultado del ejemplo sería algo similar a:
www.jose-aguilar.com
También podemos imprimir el contenido del array global server de la siguiente forma:
<?php echo '<pre>'; print_r($_SERVER); echo '</pre>'; ?>
Para ver de una pasada todos sus elementos:
Array ( [UNIQUE_ID] => UGFnFNQkTbAAACDKvfYAAAAH [SCRIPT_URL] => /server_info.php [SCRIPT_URI] => http://www.dominio.net/server_info.php [HTTP_HOST] => www.dominio.net [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20100101 Firefox/15.0.1 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_LANGUAGE] => es-es,es;q=0.8,en-us;q=0.5,en;q=0.3 [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_CONNECTION] => keep-alive [HTTP_COOKIE] => 6ea9f7f60f422be10b91c9c3df02e816=f2b8c6f008e4fcb2a23757f18756c531 [HTTP_CACHE_CONTROL] => max-age=0 [PATH] => /usr/local/bin:/usr/bin:/bin [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache [SERVER_NAME] => www.dominio.net [SERVER_ADDR] => 212.36.77.176 [SERVER_PORT] => 80 [REMOTE_ADDR] => 80.26.178.222 [DOCUMENT_ROOT] => /home/TtA1Y6A7rQNT/dominio.es/web [SERVER_ADMIN] => hostmaster@server.tld [SCRIPT_FILENAME] => /home/TtA1Y6A7rQNT/dominio.es/web/server_info.php [REMOTE_PORT] => 1615 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /server_info.php [SCRIPT_NAME] => /server_info.php [PHP_SELF] => /server_info.php [REQUEST_TIME] => 1348560660 [argv] => Array ( ) [argc] => 0 )
That is very interesting, You are a very professional blogger. I’ve joined your rss feed and stay up for in the hunt for extra of your wonderful post. Additionally, I have shared your website in my social networks!