$_ENV

$HTTP_ENV_VARS [deprecated]

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_ENV -- $HTTP_ENV_VARS [deprecated] — Environment variables

Description

An associative array of variables passed to the current script
via the environment method.

These variables are imported into PHP's global namespace from the
environment under which the PHP parser is running. Many are
provided by the shell under which PHP is running and different
systems are likely running different kinds of shells, a
definitive list is impossible. Please see your shell's
documentation for a list of defined environment variables.

Other environment variables include the CGI variables, placed
there regardless of whether PHP is running as a server module or
CGI processor.

$HTTP_ENV_VARS contains the same initial
information, but is not a superglobal.
(Note that $HTTP_ENV_VARS and $_ENV
are different variables and that PHP handles them as such)

Changelog

Version

Description

4.1.0

Introduced $_ENV that deprecated
$HTTP_ENV_VARS.

Examples

Example #1 $_ENV example

<?phpecho 'My username is ' .$_ENV["USER"] . '!';?>

Assuming "bjori" executes this script

The above example will output
something similar to:

My username is bjori!

Notes

Note:

This is a 'superglobal', or
automatic global, variable. This simply means that it is available in
all scopes throughout a script. There is no need to do
global $variable; to access it within functions or methods.

Please note that writing to $_ENV does not actually set an environment variable, i.e. the variable will not propagate to any child processes you launch (except forked script processes, in which case it's just a variable in the script's memory). To set real environment variables, you must use putenv().

Basically, setting a variable in $_ENV does not have any meaning besides setting or overriding a script-wide global variable. Thus, one should never modify $_ENV except for testing purposes (and then be careful to use putenv() too, if appropriate).

PHP will not trigger any kind of error or notice when writing to $_ENV.