Syntax:
getenv() function can be used with or without an argument. When this function uses the arguments, it returns the string value, and when the function uses no argument, it returns an array. Both syntaxes of this function are shown below:
According to the above syntax, the getenv () function can take two arguments. The first argument is mandatory and is used to take the environment variable’s name that is required to read. The second argument is optional with a default value of FALSE. When TRUE is used in the second argument, this function will return the local environment variables only.
According to the above syntax, the getenv() function can be called without any argument.
Example 1: Use of getenv() variable without argument
The following example will show the list of environment variables of the installed version of PHP. Create a PHP file with the following script to get the list of environment variables using the getenv() function.
getenv() function is called without any argument in the script, and the returned values are stored in an array named $env_array. The values of this array are printed using the foreach loop.
//Call getenv() function without argument
$env_array =getenv();
echo "<h3>The list of environment variables with values are :</h3>";
//Print all environment variable names with values
foreach ($env_array as $key=>$value)
{
echo "$key => $value <br />";
}
?>
Output:
The following output will appear after running the script from the server. It shows the list of all environment variables of the PHP. This output can vary based on the PHP version and the operating system, wherein the PHP is running.
Example 2: Read the specific environment variables
The following example shows the way to read the particular environment values. Create a PHP file with the following script.
The four environment variables are printed using the getenv() function. “LANGUAGE” is used in the getenv() function to read which language is currently set for the PHP script. “LC_TIME” is used in the getenv() function to read the used date and time formatting name in PHP. “APACHE_LOG_DIR” is used in the getenv() function to read the log directory of Apache. “PATH” is used in the getenv() function to read the values stored in the path.
//Print the used language name
echo "<b> Language: </b>" . getenv("LANGUAGE"). "<br />";
//Print the used date and time formatting name
echo "<b> Local Time: </b>" . getenv("LC_TIME"). "<br />";
//Print the log directory name of the apache server
echo "<b> Apache Log Directory: </b>" . getenv("APACHE_LOG_DIR"). "<br />";
//Print the values of PATH variable
echo "<b> The values of PATH are: </b>" . getenv("PATH");
?>
Output:
The following output will appear after running the script from the server. It shows the values of the four environment variables.
Example 3: Define and read environment variable
getenv() function returns the list of built-in environment variables of the PHP. But if the coder needs to create any new environment variable for the programming purpose, they can do so. putenv() function can be used to create a new environment variable with a value. To create a new environment variable, the variable name, equal sign(=), and the value of the variable are enclosed with the quotation to be used as the argument value of the putenv() function. But the value of any built-in environment variable can’t be changed using the putenv() function.
The following example shows the way to create a new environment variable using the putenv() function and reads the newly created environment variable using the getenv() function. Create a PHP file with the following script.
“REMOTE_ADDR” is a built-in environment variable name with a value that is printed at the beginning of the script. Next, a new value is set for this variable and printed again. A new environment variable named “MY_ENV_VAR” is created with a value and printed later.
// Print the current value of REMOTE_ADDR
echo "<b> The current Remote Address is : </b>" . getenv("REMOTE_ADDR"). "<br />";
// Try to change the built-in REMOTE_ADDR variable
putenv("REMOTE_ADDR=localserver");
// Print the value of REMOTE_ADDR after using putenv()
echo "<b> The Remote Address after change is : </b>" . getenv("REMOTE_ADDR"). "<br />";
// Define a custom environment variable
putenv("MY_ENV_VAR=TestSrver");
// Print the custom envirornment variable
echo "<b>The value of MY_ENV_VAR is : </b>" . getenv("MY_ENV_VAR");
?>
Output:
The following output will appear after running the script from the server. It shows that the default value of “REMOTE_ADDR” is 127.0.0.1. When the value of this environment variable is changed and re-printed, it will show its previous value. That means the value of the built-in variables can’t be changed. The newly created environment variable is printed properly here.
Conclusion
The ways of reading built-in environment variables and creating a new environment variable are shown in this tutorial using different examples. There is a superglobal variable named $_ENV that can also be used to read the environment variable of PHP. The concept of environment variables in PHP will be cleared after reading this tutorial, and PHP coders will be able to use these variables in their scripts.