PHP proporciona una gran cantidad de variables predefinidas a cualquier
script que se ejecute. De todas formas, muchas de esas variables no pueden
estar completamente documentadas ya que dependen de sobre qué servidor se
esté ejecutando, la versión y configuración de dicho servidor, y otros
factores. Algunas de estas variables no estarán disponibles cuando se
ejecute PHP desde la línea de comandos.
A pesar de estos factores, aquí tenemos una lista de variables
predefinidas disponibles en una instalación por defecto de PHP 3
corriendo como modulo de un Apache 1.3.6
con su configuración también por defecto.
Para una lista de variables predefinidas (y muchas más información útil),
por favor, vea (y use) phpinfo().
Nota:
Esta lista no es exhaustiva ni pretende serlo. Simplemente es una guía de
qué tipo de variables predefinidas se puede esperar tener disponibles en
un script.
Estas variables son creadas por el servidor web Apache. Si se está utilizando
otro servidor web, no hay garantía de que proporcione las
mismas variables; pueden faltar algunas, o proporcionar otras no
listadas aquí. Dicho esto, también están presentes las variables de la
especificación CGI 1.1, por lo que
también se deben tener en cuenta.
Tenga en cuenta que unas pocas, como mucho, de estas variables van a estar
disponibles (o simplemente tener sentido) si se ejecuta PHP desde la línea
de comandos.
GATEWAY_INTERFACE
Qué revisión de la especificación CGI está usando el servidor;
por ejemplo 'CGI/1.1'.
SERVER_NAME
El nombre del equipo servidor en el que se está ejecutando el
script. Si el script se está ejecutando en un servidor virtual, este
será el valor definido para dicho servidor virtual.
SERVER_SOFTWARE
Una cadena de identificación del servidor, que aparece en las
cabeceras al responderse a las peticiones.
SERVER_PROTOCOL
Nombre y revisión del protocolo a través del que se solicitó
la página; p.ej. 'HTTP/1.0';
REQUEST_METHOD
Qué método de petición se usó para acceder a la página; p.ej. 'GET',
'HEAD', 'POST', 'PUT'.
QUERY_STRING
La cadena de la petición, si la hubo, mediante la que se accedió
a la página.
DOCUMENT_ROOT
El directorio raíz del documento bajo el que se ejecuta el script,
tal y como está definido en el fichero de configuración del servidor.
HTTP_ACCEPT
Los contenidos de la cabecera Accept: de la
petición actual, si hay alguna.
HTTP_ACCEPT_CHARSET
Los contenidos de la cabecera Accept-Charset:
de la petición actual, si hay alguna. Por ejemplo:
'iso-8859-1,*,utf-8'.
HTTP_ENCODING
Los contenidos de la cabecera Accept-Encoding:
de la petición actual, si la hay. Por ejemplo: 'gzip'.
HTTP_ACCEPT_LANGUAGE
Los contenidos de la cabecera Accept-Language:
de la petición actual, si hay alguna. Por ejemplo: 'en'.
HTTP_CONNECTION
Los contenidos de la cabecera Connection: de
la petición actual, si hay alguna. Por ejemplo: 'Keep-Alive'.
HTTP_HOST
Los contenidos de la cabecera Host: de la
petición actual, si hay alguna.
HTTP_REFERER
La dirección de la página (si la hay) desde la que el navegador
saltó a la página actual. Esto lo establece el navegador del usuario;
no todos los navegadores lo hacen.
HTTP_USER_AGENT
Los contenidos de la cabecera User_Agent: de
la petición actual, si hay alguna. Indica el navegador que se
está utilizando para ver la página actual; p.ej.
Mozilla/4.5 [en] (X11; U; Linux
2.2.9 i586). Entre otras cosas, se puede usar
este valor con get_browser() para adaptar
la funcionalidad de la página a las posibilidades del navegador
del usuario.
REMOTE_ADDR
La dirección IP desde la que el usuario está viendo la página
actual.
REMOTE_PORT
El puerto que se está utilizando en la máquina del usuario para
comunicarse con el servidor web.
SCRIPT_FILENAME
La vía de acceso absoluta del script que se está ejecutando.
SERVER_ADMIN
El valor que se haya dado a la directiva SERVER_ADMIN (en Apache)
en el fichero de configuración del servidor web. Si el script se
está ejecutando en un servidor virtual, será el valor definido
para dicho servidor virtual.
SERVER_PORT
El puerto del equipo servidor que está usando el servidor web para
la comunicación. Para configuraciones por defecto, será '80';
al usar SSL, por ejemplo, cambiará al puerto que se haya definido
como seguro para HTTP.
SERVER_SIGNATURE
Una cadena que contiene la versión del servidor y el nombre del
servidor virtual que es añadida a las páginas generadas por el
servidor, si está característica está activa.
PATH_TRANSLATED
Vía de acceso basada en el sistema de ficheros- (no el directorio
raíz del documento-) del script en cuestión, después de que el
servidor haya hecho la conversión virtual-a-real.
SCRIPT_NAME
Contiene la vía de acceso del script actual. Es útil para páginas
que necesitan apuntar a sí mismas.
REQUEST_URI
La URI que se dió para acceder a esta página; por ejemplo,
'/index.html'.
Estas variables se importan en el espacio de nombres global de PHP desde
el entorno en el que se esté ejecutando el intérprete PHP. Muchas son
proporcionadas por el intérprete de comandos en el que se está ejecutando
PHP, y dado que a sistemas diferentes les gusta ejecutar diferentes tipos
de intérpretes de comandos, es imposible hacer una lista definitiva. Por
favor, mire la documentación de su intérprete de comandos para ver una
lista de las variables de entorno definidas.
Otras variables de entorno son las de CGI, que están ahí sin importar si
PHP se está ejecutando como un módulo del servidor o como un intérprete
CGI.
Array de argumentos pasados al script. Cuando el script se ejecuta
desde la línea de comandos, esto da un acceso, al estilo de C, a
los parámetros pasados en línea de comandos. Cuando se le llama
mediante el método GET, contendrá la cadena de la petición.
argc
Contiene el número de parámetros de la línea de comandos pasados
al script (si se ejecuta desde la línea de comandos).
PHP_SELF
El nombre del fichero que contiene el script que se esta
ejecutando, relativo al directorio raíz de los documentos.
Si PHP se está ejecutando como intérprete de línea de comandos,
esta variable no está disponible.
HTTP_COOKIE_VARS
Un array asociativo de variables pasadas al script actual
mediante cookies HTTP. Sólo está disponible si el seguimiento de
variables ha sido activado mediante la directiva de configuración
track_vars o la directiva
<?php_track_vars?>.
HTTP_GET_VARS
Un array asociativo de variables pasadas al script actual mediante
el método HTTP GET. Sólo está disponible si --variable tracking--
ha sido activado mediante la directiva de configuración
track_vars o la directiva
<?php_track_vars?>.
HTTP_POST_VARS
Un array asociativo de variables pasadas al script actual mediante
el método HTTP POST. Sólo está disponible si --variable tracking--
ha sido activado mediante la directiva de configuración
track_vars o la directiva
<?php_track_vars?>.