getenv

Gets the value of a single or all environment variables

Description

stringarrayfalse getenv(stringnull $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".

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.

Return Values

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.

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.

Examples

Example #1 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')
?>

Notes

Warning

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.

See Also