downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

$_COOKIE> <$_SESSION
[edit] Last updated: Fri, 18 Sep 2009

view this page in

$_ENV

$HTTP_ENV_VARS [непрепоръчителна]

$_ENV -- $HTTP_ENV_VARS [непрепоръчителна]Променливи от обкръжението

Описание

Асоциативен масив с променливи, предоставени на текущия скрипт посредством метода на обкръжението.

Тези променливи се внасят в глобалното пространство от имена на PHP от обкръжението, в което работи синтактичният анализатор на PHP. Голяма част се предоставят от обвивката (shell), в която работи PHP, а различните системи имат различни видове обвивки, така че изготвянето на пълен списък не е възможно. Моля, вижте документацията на вашата обвивка за списък с дефинираните променливи от обкръжението.

Други променливи от обкръжението включват променливите от CGI, които идват независимо от това дали PHP работи като сървърен модул или CGI препроцесор.

$HTTP_ENV_VARS съдържа същата начална информация, но не е свръхглобална. (Забележете, че $HTTP_ENV_VARS и $_ENV са две различни променливи и PHP ги третира като такива)

Дневник на промените

Версия Описание
4.1.0 Въведена е $_ENV, за сметка на непрепоръчителната $HTTP_ENV_VARS.

Примери

Example #1 Пример с $_ENV

<?php
echo 'Моето потребителско име е ' .$_ENV["USER"] . '!';
?>

Приемаме, че "john" изпълнява този скрипт

Примерът по-горе ще изведе нещо подобно на:

Моето потребителско име е john!

Бележки

Забележка: Това е 'свръхглобална' или автоматично глобална променлива. Това просто означава, че тя е налична във всички обхвати навсякъде из скрипта. Не е нобходимо да правите global $variable;, за да я достъпвате от тялото на функции и методи.

Вж. също



$_COOKIE> <$_SESSION
[edit] Last updated: Fri, 18 Sep 2009
 
add a note add a note User Contributed Notes $_ENV
david at davidfavor dot com 07-Feb-2012 03:07
Comments for this page seem to indicate getenv() returns environment variables in all cases.

For getenv() to work, php.ini variables_order must contain 'E'.
anonymous 09-Sep-2010 12:36
If $_ENV is empty because variables_order does not include it, it will be filled with values fetched by getenv().

For example, when calling getenv("REMOTE_ADDR"), $_ENV['REMOTE_ADDR'] will be defined as well (if such an environment variable exists).
gabe-php at mudbugmedia dot com 26-May-2010 11:11
If your $_ENV array is mysteriously empty, but you still see the variables when calling getenv() or in your phpinfo(), check your http://us.php.net/manual/en/ini.core.php#ini.variables-order ini setting to ensure it includes "E" in the string.
php at isnoop dot net 01-Apr-2010 11:33
If you wish to define an environment variable in your Apache vhost file, use the directive SetEnv.

SetEnv varname "variable value"

It is important to note that this new variable will appear in $_SERVER, not $_ENV.
ewilde aht bsmdevelopment dawt com 20-Mar-2009 06:48
When running a PHP program under the command line, the $_SERVER["SERVER_NAME"] variable does not contain the hostname. However, the following works for me under Unix/Linux and Windows:

<?php
if (isset($_ENV["HOSTNAME"]))
   
$MachineName = $_ENV["HOSTNAME"];
else if  (isset(
$_ENV["COMPUTERNAME"]))
   
$MachineName = $_ENV["COMPUTERNAME"];
else
$MachineName = "";
?>

 
show source | credits | sitemap | contact | advertising | mirror sites