PHP: Hypertext Preprocessor (original) (raw)
$_ENV
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
$_ENV — 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.
Examples
Example #1 $_ENV example
<?php echo 'My username is ' .$_ENV["USER"] . '!'; ?>
Assuming "bjori" executes this script
The above example will output something similar to:
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 doglobal $variable; to access it within functions or methods.
See Also
- getenv() - Gets the value of a single or all environment variables
- The filter extension
Found A Problem?
11 years ago
`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 ENVdoesnothaveanymeaningbesidessettingoroverridingascript−wideglobalvariable.Thus,oneshouldnevermodify_ENV does not have any meaning besides setting or overriding a script-wide global variable. Thus, one should never modify ENVdoesnothaveanymeaningbesidessettingoroverridingascript−wideglobalvariable.Thus,oneshouldnevermodify_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.
`