Массив $_SERVER

Описание значений глобального массива $_SERVER с примерами.

1

$_SERVER['SERVER_NAME']

Имя хоста, обычно совпадает с доменом.

example.com

$_SERVER['GATEWAY_INTERFACE']

Версия CGI на сервере.

CGI/1.1

$_SERVER['SERVER_SOFTWARE']

Название и версия сервера.

Apache/2.4.7

$_SERVER['SERVER_SIGNATURE']

Версия сервера и имя виртуального хоста, обычно пуста.

$_SERVER['SERVER_PROTOCOL']

Имя и версия используемого HTTP протокола.

HTTP/1.0
HTTP/1.1

$_SERVER['SERVER_ADDR']

IP-адрес сервера.

127.0.0.1

$_SERVER['SERVER_PORT']

Порт сервера.

80

$_SERVER['SERVER_ADMIN']

Значение из директивы конфигурационного файла Apache.
На хостингах указывают контактный e-mail.

2

$_SERVER['HTTP_HOST']

Имя сервера, как правило, совпадает с доменом.

example.com

$_SERVER['HTTP_PORT']

Порт подключения.

80
443

$_SERVER['REMOTE_ADDR']

IP-адрес, с которого пользователь просматривает текущую страницу.

64.246.37.238
fe80:0:0:0:200:f8ff:fe21:67cf

$_SERVER['REMOTE_HOST']

Удаленный хост, с которого пользователь просматривает текущую страницу.

$_SERVER['REMOTE_PORT']

Порт на удаленной машине, который используется для связи с веб-сервером.

$_SERVER['REQUEST_SCHEME']

Схема запроса.

http

$_SERVER['REQUEST_METHOD']

Метод запроса к странице.

GET
POST
PUT

$_SERVER['REQUEST_TIME']

Время запроса к серверу в Unix timestamp.

1537962596

$_SERVER['REQUEST_TIME_FLOAT']

​Время запроса к серверу с точностью до микросекунд.

1537962596.892
3

$_SERVER['DOCUMENT_ROOT']

Директория корня сайта, в которой выполняется текущий скрипт.

/home/example.com/public_html

$_SERVER['CONTEXT_DOCUMENT_ROOT']

Появился в Apache2, то же самое что и DOCUMENT_ROOT.

$_SERVER['PATH_INFO']

Содержит путь, содержащийся после имени скрипта.
Например для адреса http://site.ru/index.php/123 значение будет следующим:

/123

$_SERVER['ORIG_PATH_INFO']

Исходное значение переменной PATH_INFO перед обработкой PHP.

$_SERVER['SCRIPT_NAME']

Путь и имя выполняемого скрипта.

/index.php

$_SERVER['PHP_SELF']

​Путь к исполняемому скрипту относительно корня сайта, обычно равен SCRIPT_NAME.

/index.php

$_SERVER['SCRIPT_FILENAME']

​Абсолютный путь к исполняемому скрипту.

/home/example.com/public_html/index.php

$_SERVER['PATH']

/usr/local/bin:/usr/bin:/bin
4

$_SERVER['AUTH_TYPE']

Метод HTTP аутентификации.

Basic

$_SERVER['REMOTE_USER'] и $_SERVER['PHP_AUTH_USER']

Логин пользователя.

$_SERVER['PHP_AUTH_PW']

Пароль.

5
Данные переменные появляются при HTTPS соединении:

$_SERVER['HTTPS'], $_SERVER['HTTP_X_HTTPS'], $_SERVER['REDIRECT_HTTPS']

1
On

$_SERVER['HTTP_X_FORWARDED_PROTO']

https
6

Значения в примерах приведены для адреса http://site.ru/index.php?page=1&sort=2

$_SERVER['REQUEST_URI']

URI страницы с GET-параметрами, без домена.

/index.php?page=1&sort=2

$_SERVER['QUERY_STRING']

Строка GET-запроса.

page=1&sort=2

$_SERVER['argv']

Массив GET-параметров.

Array
(
    [0] => page=1&sort=2
)

$_SERVER['argc']

Количество элементов массива $_SERVER['argv'].

$_SERVER['REDIRECT_URL']

​Содержит URL страницы без GET-параметров и домена.

/index.php
7

$_SERVER['HTTP_USER_AGENT']

Строка, обозначающая браузер и операционную систему, который открыл данную страницу.

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36

$_SERVER['HTTP_COOKIE']

Куки браузера в виде строки: ключ=значение; ключ=значение;...
Данные доступны в переменной $_COOKIE.

_ym_uid=xxx; _ym_d=xxx; PHPSESSID=xxx;

$_SERVER['HTTP_REFERER']

Адрес страницы, с которой браузер пользователя перешёл на текущую страницу.

http://example.com/index.php

$_SERVER['HTTP_ACCEPT']

Содержимое заголовка Accept из текущего запроса.

text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

$_SERVER['HTTP_ACCEPT_ENCODING']

HTTP заголовок переданный клиентом, говорящий о том какие алгоритмы сжатия он может понять.

gzip, deflate

$_SERVER['HTTP_ACCEPT_LANGUAGE']

​Содержимое заголовка Accept-Language.

ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7

$_SERVER['HTTP_ACCEPT_CHARSET']

Предпочтения клиента относительно кодировки.

utf-8, iso-8859-1

$_SERVER['HTTP_CONNECTION']

Значение заголовка Connection.

sclose
keep-alive

$_SERVER['HTTP_CACHE_CONTROL']

max-age=0

$_SERVER['HTTP_UPGRADE_INSECURE_REQUESTS']

Браузер отправляет этот заголовок со значением 1, выражающий предпочтение клиента для зашифрованного ответа.

8

Для тестирования, значения массива $ _SERVER для разных клиентов можно скидывать в лог-файл:

file_put_contents(__DIR__ . '/server.log', print_r($_SERVER, true) . PHP_EOL, FILE_APPEND);
PHP
03.10.2018, обновлено 07.04.2020
54115

Комментарии 1

Norman Krieg Norman Krieg
14 августа 2022 в 18:30
$_SERVER['HTTP_REFERER'] - не всегда работает.
текст поисковых запросов не показывает.

, чтобы добавить комментарий.

Другие публикации

Описание мета-тегов
В статье представлены все самые встречающеюся мета-теги с примерами и пояснениями их использования.
27995
+3
Работа с FTP в PHP
Протокол FTP – предназначен для передачи файлов на удаленный хост. В PHP функции для работы с FTP как правило всегда доступны и не требуется установка дополнительного расширения.
18969
+2
HTTP коды
Список основных кодов состояния HTTP, без WebDAV.
11678
+1
Whois, как получить данные IP-адреса и домена в PHP
Несколько примеров как в PHP получить информацию о домене и IP-адресе.
19860
+6
Работа с cookie в JavaScript
Сookies или куки – это данные в виде пар ключ=значение, которые хранятся в файлах на компьютере пользователя. Для хранимых данных существуют несколько ограничений...
59244
+8
Использование API Яндекс Диска на PHP
Можно найти множество применений Яндекс Диска на своем сайте, например, хранение бекапов и отчетов, обновление прайсов,...
56761
+20