getenv

Gets the value of a single or all environment variables

&reftitle.description; ``string``array``false```getenv` ``string``null```name`&null; `bool` `local_only`&false;

Gets the value of a single or all environment variables.

You can see a list of all the environmental variables by using `phpinfo`. Many of these variables are listed within RFC 3875, specifically section 4.1, "Request Meta-Variables".

&reftitle.parameters;

`name`

- The variable name as a &string; or &null;.

`local_only`

- When set to &true;, only local environment variables are returned, set by the operating system or putenv. It only has an effect when `name` is a &string;.

&reftitle.returnvalues;

Returns the value of the environment variable `name`, or &false; if the environment variable `name` does not exist. If `name` is &null;, all environment variables are returned as an associative `array`.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | The `name` is now nullable.
7.1.0 | The `name` can now be omitted to retrieve an associative `array` of all environment variables.
7.0.9 | The `local_only` parameter has been added.

&reftitle.examples;

### `getenv` Example

    <?php
    // Example use of getenv()
    $ip = getenv('REMOTE_ADDR');

    // Or simply use a Superglobal ($_SERVER or $_ENV)
    $ip = $_SERVER['REMOTE_ADDR'];

    // Safely get the value of an environment variable, ignoring whether
    // or not it was set by a SAPI or has been changed with putenv
    $ip = getenv('REMOTE_ADDR', true) ?: getenv('REMOTE_ADDR')
    ?>

&reftitle.notes;

If PHP is running in a SAPI such as Fast CGI, this function will always return the value of an environment variable set by the SAPI, even if `putenv` has been used to set a local environment variable of the same name. Use the `local_only` parameter to return the value of locally-set environment variables.

&reftitle.seealso;

- `putenv`
- `apache_getenv`
- Superglobals