Массив переменных $_SERVER
tags: php
$_SERVER введен начиная с версии PHP 4.1.0. В предыдущих версиях использовался $HTTP_SERVER_VARS. $_SERVER это массив переменных создаваемый web-сервером. Нет гарантии, что каждый web-сервер будет предоставлять все нижеперечисленные переменные, сервер может опустить некоторые позиции или добавить новые, здесь не указанные. $_SERVER доступен во всех областях видимости скрипта, то есть не нужно писать global $_SERVER для доступа к нему внутри функций и методов, как это делалось с $HTTP_SERVER_VARS.
- PHP_SELF
Имя файла исполняемого в данный момент скрипта; относительно document root. Например, $_SERVER['PHP_SELF'] в скрипте с адресом https://example.com/test.php даст /test.php. Если PHP запущен как процесс командной строки, эта переменная недоступна. - argv
Массив аргументов, передаваемых скрипту. Если скрипт работает из командной строки, это даёт доступ, в стиле С, к параметрам командной строки. Если вызывается через метод GET, будет содержать строку запроса. - argc
Содержит количество параметров командной строки, передаваемых скрипту (если запущен из командной строки). - GATEWAY_INTERFACE
Содержит вариант спецификации CGI, используемой сервером, например CGI/1.1 - SERVER_NAME
Имя хоста сервера, на котором выполняется текущий скрипт. Если скрипт запущен на виртуальном хосте, это будет значение, определённое для данного виртуального хоста.
Например, у текущей страницы - izi.li - SERVER_SOFTWARE
Строка-идентификатор сервера, выдаваемая в шапках (headers) при ответах на запросы.
Пример: Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8d PHP/5.2.4 - SERVER_PROTOCOL
Имя и версия информационного протокола, по которому страница запрошена, например, HTTP/2.0 - SERVER_ADMIN
Значение, заданное в директиве SERVER_ADMIN (для Apache) в файле конфигурации web-сервера. Если скрипт запущен на виртуальном хосте, это будет значение, определённое для данного виртуального хоста. - SERVER_PORT
Порт на серверной машине, используемый web-сервером для соединения. По умолчанию это 80; использование SSL, к примеру, изменит это значение на то, которое вы определили для порта HTTPS. - SERVER_SIGNATURE
Строка, содержащая версию сервера и имя виртуального хоста, добавленная к генерируемым сервером страницам, если эта возможность включена. - DOCUMENT_ROOT
Корневая директория документов, под которой выполняется текущий скрипт, как определено в файле конфигурации сервера. - HTTP_ACCEPT
Содержимое заголовка Accept: из текущего запроса, если имеется.
Пример: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 - HTTP_ACCEPT_CHARSET
Содержимое заголовка Accept-Charset: из текущего запроса, если имеется.
Пример: utf-8 - HTTP_ACCEPT_ENCODING
Содержимое заголовка Accept-Encoding: из текущего запроса, если имеется.
Пример: gzip - HTTP_ACCEPT_LANGUAGE
Содержимое заголовка Accept-Language: из текущего запроса, если имеется.
Пример: en - HTTP_CONNECTION
Содержимое заголовка Connection: из текущего запроса, если имеется.
Пример: Keep-Alive - HTTP_HOST
Содержимое заголовка Host: из текущего запроса, если имеется.
Например, у текущей страницы - izi.li - HTTP_REFERER
Адрес страницы (если имеется), с которой был осуществлен переход на текущую страницу. Устанавливается пользовательским агентом (браузером). Агенты могут устанавливать данное значение некорректно - полностью доверять ему нельзя! Можно использовать для примитивной защиты - HTTP_USER_AGENT
Содержимое заголовка User_Agent из текущего запроса, если имеется. Проще говоря это браузер пользователя.
Пример: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586) - REMOTE_ADDR
IP-адрес, с которого пользователь просматривает текущую страницу. - REMOTE_PORT
Порт на пользовательской машине для соединения с web-сервером. - REMOTE_HOST
Удалённый хост, с которого пользователь просматривает текущуюстраницу. - REMOTE_USER
Имя пользователя (никогда не видел, чтобы было заполнено, поэтому примеров нет ;) - HTTP_CLIENT_IP
HTTP_X_FORWARDED_FOR
HTTP_X_FORWARDED
HTTP_X_CLUSTER_CLIENT_IP
HTTP_FORWARDED_FOR
HTTP_FORWARDED
Объединил в один пункт, поскольку всё это IP-адрес пользователя до переадресации (если она была). - SCRIPT_FILENAME
Абсолютный путь к файлу исполняемого в данный момент скрипта - PATH_TRANSLATED
Путь файловой системы (не document root) к текущему скрипту, после того как сервер выполнил отображение virtual-to-real. - SCRIPT_NAME
Путь к текущему скрипту. $_SERVER['SCRIPT_FILENAME'] - $_SERVER['SCRIPT_NAME'] = document root - HTTPS
Принимает непустое значение, если запрос был произведён через протокол HTTPS. - REQUEST_METHOD
Какой метод запроса был использован для доступа к странице GET, HEAD, POST, PUT. - REQUEST_TIME
Временная метка начала запроса. - REQUEST_TIME_FLOAT
Временная метка начала запроса с точностью до микросекунд. - REQUEST_URI
URI, который был задан для доступа к данной странице, например, /index.htm. - QUERY_STRING
Строка запроса, если имеется, это параметры в урле после знака вопроса, не включая его. - PHP_AUTH_USER
При работе под Apache-модулем и выполнении HTTP-аутентификации, в эту переменную устанавливается username, предоставляемое пользователем. - PHP_AUTH_PW
При работе под Apache-модулем и выполнении HTTP-аутентификации, в эту переменную устанавливается password, предоставляемый пользователем. - PHP_AUTH_TYPE
При работе под Apache-модулем и выполнении HTTP-аутентификации, в эту переменную устанавливается тип аутентификации.
Быть добру!
posted on october 12, 2008,
updated on september 08, 2025
Комментарии
Отправка новых комментариев временно отключена. Извините, работаем над этим.
просто в дополнение ...
в любом месте своего скрипат пишем -
phpinfo(32);
увидете все переменные используемые вышим скриптом в данный момент - все серверные переменные включенные на вашем сервере. и переменные посланные ГЕТом или ПОСТом.
Стоит обратить внимание на то, что SERVER_NAME даёт префикс 'www.', если он написан в адресной строке.