A partir de PHP 4.1.0, el método preferido para recuperar variables externas es mediante las superglobales mencionadas más adelante. Antes de este punto, la gente recaía en register_globals o las matrices largas predefinidas en PHP ($HTTP_*_VARS). A partir de PHP 5.0.0, las matrices de tipo "long" de variables predefinidas, se pueden desactivar con la directiva register_long_arrays.
Note: Aparecieron en 4.1.0. En versiones anteriores, utilice $HTTP_SERVER_VARS.
$_SERVER es una matriz que contiene información tal como cabeceras, rutas y ubicaciones de scripts. Las entradas de esta matriz son creadas por el servidor web. No existen garantías de que cada servidor vaya a proveer alguno de estos valores; puede que los servidores omitan algunos, o provean otros que no se listan aquí. Hecha esta aclaración, un gran número de estas variables hacen parte de la » especificación CGI 1.1, así que puede esperar que sean definidas por el servidor.
Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_SERVER; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_SERVER_VARS.
$HTTP_SERVER_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_SERVER_VARS y $_SERVER son variables diferentes y que PHP las trata como tal)
Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; esto quiere decir, por separado de las matrices $_SERVER y $HTTP_SERVER_VARS. Para información relacionada, vea el capítulo de seguridad titulado Uso de Registros Globales. Estas variables globales individuales no son superglobales.
Usted puede encontrar o no cualquiera de los siguientes elementos en $_SERVER. Note que algunos de éstos, si es que los hay, estarán disponibles (o tendrán algún significado después de todo) si se ejecuta PHP en la línea de comandos.
Note: El script PHP es finalizado luego de enviar las cabeceras (es decir, después de producir cualquier salida sin uso de búferes de salida) si el método de petición fue HEAD.
Note: Su servidor web debe estar configurado para crear esta variable. Por ejemplo, en Apache necesitará HostnameLookups On dentro de httpd.conf para que exista. Vea también gethostbyaddr().
La ruta absoluta del nombre del script siendo ejecutado actualmente.
Note: Si un script es ejecutado en el entorno CLI usando una ruta relativa, tal como archivo.php o ../archivo.php, $_SERVER['SCRIPT_FILENAME'] contendrá la ruta relativa especificada por el usuario.
Note: A partir de PHP 4.3.2, PATH_TRANSLATED ya no se define implícitamente bajo la SAPI de Apache 2, a diferencia de lo que ocurre en Apache 1, en donde se define con el mismo valor de la variable de servidor SCRIPT_FILENAME cuando Apache no se encarga de definirlo. Este cambio fue realizado para cumplir con la especificación CGI de que PATH_TRANSLATED debe existir únicamente si PATH_INFO se define. Los usuarios de Apache 2 pueden usar AcceptPathInfo = On al interior de httpd.conf para definir PATH_INFO.
Note: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_ENV_VARS.
Estas variables son importadas en el espacio de nombres global de PHP desde el entorno bajo el que está siendo ejecutado el intérprete PHP. Muchas son entregadas por el intérprete de comandos bajo el que PHP está corriendo y diferentes sistemas suelen tener diferentes tipos de intérpretes de comandos, una lista definitiva es imposible. Por favor consulte la documentación de su intérprete de comandos por una lista de varibles de entorno que resultan definidas.
Otras variables de entorno incluyen las variables CGI, colocadas allí independientemente de que PHP esté siendo ejecutado como módulo del servidor o procesador CGI.
Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo del script. No necesita hacer global $_ENV; para acceder a ella desde funciones o métodos, tal y como lo hace con $HTTP_ENV_VARS.
$HTTP_ENV_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_ENV_VARS y $_ENV son variables diferentes y que PHP las trata como tal)
Si la directiva register_globals está definida, entonces estas variables también se harán disponibles en el entorno global del script; i.e., por separado de las matrices $_ENV y $HTTP_ENV_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.
Note: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_GET_VARS.
Una matriz asociativa de variables pasadas al script actual a través del método HTTP GET. Global automáticamente en cualquier contexto.
Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_GET; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_GET_VARS.
$HTTP_GET_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_GET_VARS y $_GET son variables diferentes y que PHP las trata como tal)
Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_GET y $HTTP_GET_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.
Note: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_POST_VARS.
Una matriz asociativa de variables pasadas al script actual a través del método HTTP POST. Global automáticamente en cualquier contexto.
Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_POST; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_POST_VARS.
$HTTP_POST_VARS contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_POST_VARS y $_POST son variables diferentes y que PHP las trata como tal)
Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_POST y $HTTP_POST_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.
Note: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_POST_FILES.
Una matriz asociativa de elementos cargados al script actual a través del método HTTP POST. Global automáticamente en cualquier contexto.
Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_FILES; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_POST_FILES.
$HTTP_POST_FILES contiene la misma información inicial, pero no es una superglobal. (Note que $HTTP_POST_FILES y $_FILES son variables diferentes y que PHP las trata como tal)
Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_FILES y $HTTP_POST_FILES. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.
Note: Introducidas en 4.1.0. No existe una matriz equivalente en versiones anteriores.
Note: Antes de PHP 4.3.0, la información de $_FILES también era incluida en $_REQUEST.
Una matriz asociativa que consiste en los contenidos de $_GET, $_POST, y $_COOKIE.
Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_REQUEST; para acceder a ella dentro de funciones o métodos.
Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de la matriz $_REQUEST. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.
Note: Introducidas en 4.1.0. En versiones anteriores, use $HTTP_SESSION_VARS.
Una matriz asociativa que contiene las variables de sesión disponibles en el script actual. Consulte la documentación sobre Funciones de Sesión para más información sobre cómo es usada esta matriz.
Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_SESSION; para acceder a ella dentro de funciones o métodos, como lo hace con $HTTP_SESSION_VARS.
$HTTP_SESSION_VARS contiene la misma información, pero no es una superglobal. (Note que $HTTP_SESSION_VARS y $_SESSION son variable diferentes y que PHP las trata como tal)
Si la directiva register_globals está definida, entonces estas variables también estarán disponibles en el contexto global del script; i.e., por separado de las matrices $_SESSION y $HTTP_SESSION_VARS. Para información relacionada, consulte el capítulo de seguridad titulado Uso de Registros Globales. Estas globales individuales no son superglobales.
Note: $GLOBALS ha estado disponible desde PHP 3.0.0.
Una matriz asociativa que contiene referencias a todas las variables que están definidas actualmente en el contexto global del script. Los nombres de las variables son las claves de la matriz.
Esta es una variable 'superglobal', o global automática. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. No necesita hacer global $_GLOBALS; para acceder a ella dentro de funciones o métodos.
$php_errormsg es una variable que contiene el texto del último mensaje de error generado por PHP. Esta variable solo estará disponibles dentro del contexto en el que el error ocurrió, y solo si la opción de configuración track_errors está habilitada (por omisión está definida como off).
$HTTP_RAW_POST_DATA contiene los datos POST inalterados. Vea always_populate_raw_post_data
La matriz $http_response_header es similar a la función get_headers(). Cuando se usa la envoltura HTTP $http_response_header será populada con las cabeceras de respuesta HTTP.