Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что такое переменные окружения сервера?
 
 автор: tAleks   (02.07.2007 в 21:56)   письмо автору
 
 

Что такое переменные окружения сервера? Зачем они нужны, и откуда они появляются?
Объясните, кто может, на пальцах...

   
 
 автор: cheops   (02.07.2007 в 22:50)   письмо автору
 
   для: tAleks   (02.07.2007 в 21:56)
 

Переменные окружения - это такие глобальные параметры операционной системы (путь к папке Windows, редактор или почтовый клиент по умолчанию). Через эти параметры программам передаются предпочтения пользователя или настройки операционной системы. Особенно переменные окружения популярны в UNIX, однако и в Windows они тоже используются. Когда в 90-х годах прошлого столетия потребовалось для статических HTML-страниц создать динамику, решили не изобретать велосипед (PHP тогда ещё не было, а модулей для Web-серверов было мало), а использовать Perl или C++ программы. А все внешние параметры (GET, POST-данные, пользовательские агенты, рефереры), которые доступны Apache передавать в них при помощи переменных окружения. Apache заполняет переменные окружения, а скрипты их читают. Сейчас PHP формирует из этих переменных суперглобальный массив $_SERVER.

http://www.softtime.ru/info/articlephp.php?id_article=69

   
 
 автор: tAleks   (08.07.2007 в 18:00)   письмо автору
 
   для: cheops   (02.07.2007 в 22:50)
 

Спасибо.

Т.е. $_SERVER это часть массива $_ENV. Так?

А что из себя представляет массив $_ENV, т.е. то что не вошло в $_SERVER?

   
 
 автор: LouD   (09.07.2007 в 00:26)   письмо автору
 
   для: tAleks   (08.07.2007 в 18:00)
 

Ну вот что говорит великий и могучий манул :))

Переменные окружения: $_ENV
Примечание: введены в версии 4.1.0. В предыдущих версиях используйте $HTTP_ENV_VARS.

Эти переменные импортируются в глобальное пространство имён PHP из окружения, в котором запущен разборщик (интерпретатор) PHP. Многие предоставляются оболочкой, под которой PHP работает, а разные системы запускают, очевидно, разные виды оболочек, поэтому создать какой-то определённый список невозможно. Просмотрите в документации вашей оболочки список определённых переменных окружения.

Другие переменные окружения - это CGI-переменные, помещаемые сюда независимо от того, запущен PHP как серверный модуль или как CGI-процессор.

Это 'суперглобальная' (или автоматическая глобальная) переменная. Это значит, что она доступна во всех областях видимости скрипта. Вам не нужно записывать global $_ENV; для доступа к ней в функциях или методах, как вы делаете с $HTTP_ENV_VARS.

$HTTP_ENV_VARS содержит ту же самую начальную информацию, но это не автоглобал. (Обратите внимание, что HTTP_ENV_VARS и $_ENV это разные переменные и что PHP обрабатывает их по-разному.)

Если директива register_globals установлена, то эти переменные также становятся доступны в глобальной области скрипта; то есть независимо от массивов $_ENV и $HTTP_ENV_VARS.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования