1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
archived-doc-ru/language/predefined/variables/server.xml
Gina Peter Banyard b243cc25cf Use <refentry> tag with role attribute instead of custom XML tag
Done using the following commands:

find ./language/predefined/variables/ -type f -name "*.xml" -exec sed -i 's+<phpdoc:varentry xmlns:phpdoc="http://php.net/ns/phpdoc"+<refentry role="variable"+g' {} +
find ./language/predefined/variables/ -type f -name "*.xml" -exec sed -i 's+</phpdoc:varentry>+</refentry>+g' {} +

Applies commit a6d209f4ff71ccba3f1255902827f5df3e092ff9 from doc-en
2023-11-01 16:50:18 +00:00

484 lines
19 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b767006c8672c9e8ecec8429bb4f3be8889bde6b Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<refentry role="variable" xml:id="reserved.variables.server" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>$_SERVER</refname>
<refpurpose>Информация о сервере и среде исполнения</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>
Переменная <varname>$_SERVER</varname> - это массив (&array;), содержащий такую информацию,
как заголовки, пути и местоположения скриптов.
Записи в этом массиве создаются веб-сервером, поэтому нет гарантии, что каждый веб-сервер будет
предоставлять любую из этих переменных; серверы могут опускать некоторые из них или предоставлять другие,
не указанные здесь.
Однако большинство из этих переменных учтены в спецификации
<link xlink:href="&url.rfc;3875">CGI/1.1</link> и, скорее всего, будут определены.
</para>
<note>
<simpara>
При запуске PHP в <link linkend="features.commandline">командной строке</link>
большинство из этих записей будут недоступны или не будут иметь никакого значения.
</simpara>
</note>
<para>
В дополнение к перечисленным ниже элементам, PHP будет создавать дополнительные элементы
со значениями из заголовков запросов. У элементов будет имя <literal>HTTP_</literal>,
за которым следует имя заголовка, написанное с заглавной буквы и с подчёркиванием вместо дефиса.
Например, заголовок <literal>Accept-Language</literal> будет доступен как <code>$_SERVER['HTTP_ACCEPT_LANGUAGE']</code>.
</para>
</refsect1>
<refsect1 role="indices">
&reftitle.indices;
<para>
<variablelist>
<varlistentry>
<term>'<varname>PHP_SELF</varname>'</term>
<listitem>
<simpara>
Имя файла скрипта, который сейчас выполняется, относительно
корня документов. Например, <varname>$_SERVER['PHP_SELF']</varname> в скрипте
по адресу <filename>http://example.com/foo/bar.php</filename>
будет <filename>/foo/bar.php</filename>.
Константа <link linkend="language.constants.predefined">__FILE__</link>
содержит полный путь и имя файла текущего (то есть
подключённого) файла.
</simpara>
<simpara>
Если PHP запущен в командной строке, эта переменная содержит
имя скрипта.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<link linkend="reserved.variables.argv">argv</link>'</term>
<listitem>
<simpara>
Массив аргументов, переданных скрипту. Когда скрипт
запущен в командой строке, это даёт C-подобный доступ
к параметрам командной строки. Когда вызывается через метод GET,
этот массив будет содержать строку запроса.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<link linkend="reserved.variables.argc">argc</link>'</term>
<listitem>
<simpara>
Содержит количество параметров, переданных скрипту
(если запуск произведён в командной строке).
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>GATEWAY_INTERFACE</varname>'</term>
<listitem>
<simpara>
Содержит используемую сервером версию спецификации CGI;
к примеру <literal>'CGI/1.1'</literal>..
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SERVER_ADDR</varname>'</term>
<listitem>
<simpara>
IP-адрес сервера, на котором выполняется текущий скрипт.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SERVER_NAME</varname>'</term>
<listitem>
<simpara>
Имя хоста, на котором выполняется текущий скрипт.
Если скрипт выполняется на виртуальном хосте,
здесь будет содержатся имя, определённое для этого виртуального хоста.
</simpara>
<note>
<simpara>
В Apache 2 необходимо установить <literal>UseCanonicalName = On</literal> и
<literal>ServerName</literal>.
В противном случае это значение отразит имя хоста, предоставленное
клиентом, которое может быть подделано.
Небезопасно полагаться на это значение в контексте, требующем безопасности.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SERVER_SOFTWARE</varname>'</term>
<listitem>
<simpara>
Строка идентификации сервера, указанная в заголовках,
когда происходит ответ на запрос.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SERVER_PROTOCOL</varname>'</term>
<listitem>
<simpara>
Имя и версия информационного протокола, через который
была запрошена страница; к примеру <literal>'HTTP/1.0'</literal>;
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REQUEST_METHOD</varname>'</term>
<listitem>
<simpara>
Какой метод был использован для запроса страницы; к примеру <literal>'GET'</literal>,
<literal>'HEAD'</literal>, <literal>'POST'</literal>, <literal>'PUT'</literal>.
</simpara>
<note>
<para>
PHP-скрипт завершается после отправки заголовков (то есть после того, как
осуществляется любой вывод без буферизации вывода), если метод запроса был
<literal>HEAD</literal>.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REQUEST_TIME</varname>'</term>
<listitem>
<simpara>
Временная метка начала запроса.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REQUEST_TIME_FLOAT</varname>'</term>
<listitem>
<simpara>
Временная метка начала запроса с точностью до микросекунд.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>QUERY_STRING</varname>'</term>
<listitem>
<simpara>
Строка запроса, если есть, через которую была открыта страница.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>DOCUMENT_ROOT</varname>'</term>
<listitem>
<simpara>
Директория корня документов, в которой выполняется текущий скрипт,
в точности та, которая указана в конфигурационном файле сервера.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>HTTPS</varname>'</term>
<listitem>
<simpara>
Принимает непустое значение, если запрос был произведён через протокол HTTPS.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REMOTE_ADDR</varname>'</term>
<listitem>
<simpara>
IP-адрес, с которого пользователь просматривает текущую страницу.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REMOTE_HOST</varname>'</term>
<listitem>
<simpara>
Удалённый хост, с которого пользователь просматривает текущую
страницу. Обратный поиск DNS основан на значении переменной
<varname>REMOTE_ADDR</varname>.
</simpara>
<note>
<simpara>
Сервер должен быть настроен, чтобы создавать эту переменную.
Для примера, в Apache необходимо присутствие директивы
<literal>HostnameLookups On</literal> в файле &httpd.conf;, чтобы эта
переменная создавалась. Смотрите также <function>gethostbyaddr</function>.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REMOTE_PORT</varname>'</term>
<listitem>
<simpara>
Порт на удалённой машине, который используется для связи с сервером.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REMOTE_USER</varname>'</term>
<listitem>
<simpara>
Аутентифицированный пользователь.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REDIRECT_REMOTE_USER</varname>'</term>
<listitem>
<simpara>
Аутентифицированный пользователь, если запрос был перенаправлен изнутри.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SCRIPT_FILENAME</varname>'</term>
<listitem>
<para>
Абсолютный путь к исполняемому скрипту.
<note>
<para>
Если скрипт запускается в командной строке (CLI), используя
относительный путь, такой как <filename>file.php</filename> или
<filename>../file.php</filename>, переменная
<varname>$_SERVER['SCRIPT_FILENAME']</varname> будет
содержать относительный путь, указанный пользователем.
</para>
</note>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SERVER_ADMIN</varname>'</term>
<listitem>
<simpara>
Эта переменная получает своё значение (для Apache) из директивы
конфигурационного файла сервера. Если скрипт запущен на
виртуальном хосте, это будет значение,
определённое для данного виртуального хоста.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SERVER_PORT</varname>'</term>
<listitem>
<simpara>
Порт на компьютере сервера, используемый сервером для соединения.
Для установок по умолчанию, значение будет <literal>'80'</literal>;
используя SSL, например, это значение будет таким, какое сконфигурировано
для соединений безопасного HTTP.
</simpara>
<note>
<simpara>
Чтобы получить физический (реальный) порт в Apache 2, необходимо
установить <literal>UseCanonicalName = On</literal> и
<literal>UseCanonicalPhysicalPort = On</literal>, иначе это значение
может быть подменено и не вернуть реальной значение физического порта.
Полагаться на это значение небезопасно в контексте приложений, требующих
усиленной безопасности.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SERVER_SIGNATURE</varname>'</term>
<listitem>
<simpara>
Строка, содержащая версию сервера и имя виртуального хоста, которые
добавляются к генерируемым сервером страницам, если включено.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>PATH_TRANSLATED</varname>'</term>
<listitem>
<simpara>
Путь файловой системы (не document root) к текущему скрипту, после того как сервер выполнил отображение virtual-to-real.
</simpara>
<note>
<simpara>
Пользователи Apache 2 могут использовать директиву
<literal>AcceptPathInfo = On</literal> в конфигурационном файле
<filename>httpd.conf</filename> для задания переменной <envar>PATH_INFO</envar>.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>SCRIPT_NAME</varname>'</term>
<listitem>
<simpara>
Содержит путь к текущему исполняемому скрипту. Это полезно для страниц,
которые должны указывать на самих себя.
Константа <link linkend="language.constants.predefined">__FILE__</link>
содержит полный путь и имя текущего (то есть включённого) файла.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>REQUEST_URI</varname>'</term>
<listitem>
<simpara>
URI, который был предоставлен для доступа к этой странице.
Например, '<literal>/index.html</literal>'.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>PHP_AUTH_DIGEST</varname>'</term>
<listitem>
<simpara>
При выполнении аутентификации HTTP Digest этой переменной присваивается
заголовок 'Authorization', отправленный клиентом (который затем следует
использовать для проведения соответствующей проверки).
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>PHP_AUTH_USER</varname>'</term>
<listitem>
<simpara>
При выполнении HTTP-аутентификации этой переменной присваивается
имя пользователя, предоставленное пользователем.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>PHP_AUTH_PW</varname>'</term>
<listitem>
<simpara>
При выполнении HTTP-аутентификации этой переменной присваивается
пароль, предоставленный пользователем.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>AUTH_TYPE</varname>'</term>
<listitem>
<simpara>
При выполнении HTTP-аутентификации этой переменной присваивается
тип аутентификации, который используется.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>PATH_INFO</varname>'</term>
<listitem>
<simpara>
Содержит любой предоставленный пользователем путь, содержащийся после
имени скрипта, но до строки запроса, если она есть.
Например, если текущий скрипт запрошен по URL
<filename>http://www.example.com/php/path_info.php/some/stuff?foo=bar</filename>,
то переменная <varname>$_SERVER['PATH_INFO']</varname> будет содержать
<literal>/some/stuff</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>'<varname>ORIG_PATH_INFO</varname>'</term>
<listitem>
<simpara>
Исходное значение переменной '<varname>PATH_INFO</varname>' перед
обработкой PHP.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example xml:id="variable.server.basic">
<title>Пример использования <varname>$_SERVER</varname></title>
<programlisting role="php">
<![CDATA[
<?php
echo $_SERVER['SERVER_NAME'];
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
www.example.com
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.is-superglobal;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="book.filter">Фильтрация данных</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->