1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-23 23:32:16 +01:00
Files
archived-doc-ru/appendices/ini.core.xml

1806 lines
74 KiB
XML
Raw Permalink 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: a1ab750f296de54d79fe3749d5c9164b0593d803 Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<section xml:id="ini.core" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Описание встроенных директив &php.ini;</title>
<para>
Список включает встроенные директивы файла &php.ini;, которыми настраивают
PHP. Директивы, которые обрабатываются модулями, перечисляют и подробно
описывают страницы документации модулей.
Например, информацию о директивах сессий даёт
<link linkend="session.configuration">страница документации сессий</link>.
</para>
<note>
<para>
PHP использует представленные здесь значения по умолчанию, только если
не подключили файл &php.ini;; значения файла &php.ini; для производственной среды
и для разработки часто различаются.
</para>
</note>
<section xml:id="ini.sect.language-options">
<title>Языковые опции</title>
<para>
<table>
<title>Опции языка и прочих настроек</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.short-open-tag">short_open_tag</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.precision">precision</link></entry>
<entry>"14"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.serialize-precision">serialize_precision</link></entry>
<entry>"-1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
До версии PHP 7.1.0 значение по умолчанию равнялось 17.
</entry>
</row>
<row>
<entry><link linkend="ini.disable-functions">disable_functions</link></entry>
<entry>""</entry>
<entry>Только <constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.disable-classes">disable_classes</link></entry>
<entry>""</entry>
<entry>Только &php.ini;</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.exit-on-timeout">exit_on_timeout</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.expose-php">expose_php</link></entry>
<entry>"1"</entry>
<entry>Только &php.ini;</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.hard-timeout">hard_timeout</link></entry>
<entry>"2"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Опция доступна с PHP 7.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.zend.exception-ignore-args">zend.exception_ignore_args</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Опция доступна с PHP 7.4.0</entry>
</row>
<row>
<entry><link linkend="ini.zend.multibyte">zend.multibyte</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.script-encoding">zend.script_encoding</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.detect-unicode">zend.detect_unicode</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.signal-check">zend.signal_check</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.assertions">zend.assertions</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant> с ограничениями</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.exception-string-param-max-len">zend.exception_string_param_max_len</link></entry>
<entry>"15"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Опция доступна с PHP 8.0.0.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.short-open-tag">
<term>
<parameter>short_open_tag</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Опция определяет, разрешается ли короткая форма записи (<userinput>&lt;? ?&gt;</userinput>)
тегов PHP. Если вы хотите использовать PHP совместно с XML, вы можете отключить эту
опцию, чтобы беспрепятственно использовать <userinput>&lt;?xml ?&gt;</userinput>.
В противном случае, вы можете отобразить это при помощи PHP, например:
<userinput>&lt;?php echo '&lt;?xml version="1.0"?&gt;'; ?&gt;</userinput>.
Если же эта опция отключена, вы должны использовать длинную форму
открывающего тега PHP (<userinput>&lt;?php ?&gt;</userinput>).
</para>
<note>
<para>
Директива не влияет на сокращение <userinput>&lt;?=</userinput>,
которое всегда доступно.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.precision">
<term>
<parameter>precision</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Количество значащих цифр, отображаемых для чисел с плавающей точкой.
Значение <literal>-1</literal> включает усовершенствованный алгоритм
для округления таких чисел.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.serialize-precision">
<term>
<parameter>serialize_precision</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Количество сохраняемых значащих цифр при сериализации чисел с плавающей точкой.
Значение <literal>-1</literal> включает усовершенствованный алгоритм
для округления таких чисел.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.expose-php">
<term>
<parameter>expose_php</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Опция сообщает о работе PHP на сервере, включая передачу версии PHP
в HTTP-заголовке наподобие X-Powered-By: PHP/5.3.7.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.disable-functions">
<term>
<parameter>disable_functions</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Директива отключает отдельные функции. Опция принимает разделённый запятыми список названий функций.
Начиная с PHP 8.0.0 отключение функции удаляет определение функции,
разрешая переопределить функцию в пользовательском коде.
До PHP 8.0.0 отключение функции только предотвращало вызов функции.
</simpara>
<simpara>
Директива отключает только <link linkend="functions.internal">внутренние функции</link>.
Функция не затрагивает <link linkend="functions.user-defined">пользовательские функции</link>.
</simpara>
<simpara>
Директиву устанавливают в файле &php.ini;.
Опцию нельзя устанавливать в файле &httpd.conf;.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.disable-classes">
<term>
<parameter>disable_classes</parameter>
<type>string</type>
</term>
<listitem>
<para>
Директива отключает отдельные классы.
Опция принимает разделённый запятыми список названий классов.
Отключение класса просто запрещает создавать экземпляр класса.
</para>
<para>
Директива отключает только внутренние классы.
Опция не затрагивает пользовательские классы.
</para>
<simpara>
Директиву требуется установливать в файле &php.ini;.
Опцию нельзя устанавливать в файле &httpd.conf;.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.assertions">
<term>
<parameter>zend.assertions</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Со значением <literal>1</literal> проверочный код будет исполняться (режим
разработки). При значении <literal>0</literal> PHP сгенерирует код проверок, однако,
исполнять не будет. Со значением <literal>-1</literal>, проверочный код не будет
генерироваться (продуктивный режим).
</simpara>
<note>
<para>
При запуске процесса в режиме релиза значение директивы <link linkend="ini.zend.assertions">zend.assertions</link>
нельзя будет изменить во время выполнения, поскольку код утверждений не генерируется.
</para>
<para>
При запуске процесса в режиме разработки для директивы <link linkend="ini.zend.assertions">zend.assertions</link>
нельзя будет установить значение <literal>-1</literal> во время выполнения.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.exception-string-param-max-len">
<term>
<parameter>zend.exception_string_param_max_len</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Максимальная длина аргументов строковой функции в строковых трассировках стека.
Опиция принимает значение в диапазоне от <literal>"0"</literal> до <literal>"1000000"</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.hard-timeout">
<term>
<parameter>hard_timeout</parameter>
<type>int</type>
</term>
<listitem>
<para>
Когда истечёт время ожидания, которое установили в директиве <link linkend="ini.max-execution-time">max_execution_time</link>,
среда выполнения PHP аккуратно отключит ресурсы. Если во время этого что-то застрянет, время ожидания будет
установлено на указанное количество секунд. Когда истечёт жёсткое время ожидания, PHP завершит работу с ошибкой.
Если установлено значение 0, жёсткое время ожидания никогда не активируется.
</para>
<para>
Когда PHP останавливается после жёсткого времени ожидания, это будет выглядеть примерно так:
<screen>
<![CDATA[
Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unknown on line 0
]]>
</screen>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.exception-ignore-args">
<term>
<parameter>zend.exception_ignore_args</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Исключает аргументы из трассировки стека, сгенерированных из исключений.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.multibyte">
<term>
<parameter>zend.multibyte</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Директива разрешает парсинг исходных файлов в многобайтных кодировках. Включение
zend.multibyte требуется для использования кодировок символов подобных SJIS, BIG5
и т. д., содержащих специальные символы в многобайтных строковых данных. Совместимые
с ISO-8859-1 кодировки, например UTF-8, EUC и т. д., не требуют эту опцию.
</para>
<para>
Модуль zend.multibyte требует установленного модуля "mbstring".
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.script-encoding">
<term>
<parameter>zend.script_encoding</parameter>
<type>string</type>
</term>
<listitem>
<para>
PHP будет использовать это значение только при отсутствии директивы
<link linkend="control-structures.declare.encoding">declare(encoding=...)</link>
в начале скрипта. В кодировках, которые несовместимы с кодировкой ISO-8859-1,
требуется включить и опцию zend.multibyte, и опцию zend.script_encoding.
</para>
<para>
Литеральные строки должны быть транслитерированы из zend.script_encoding в
mbstring.internal_encoding, как если бы вызвали функцию <function>mb_convert_encoding</function>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.detect-unicode">
<term>
<parameter>zend.detect_unicode</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Определяет, проверять ли BOM (Byte Order Mark, метка порядка байтов)
и корректность многобайтных символов в файле. Эта проверка производится до вызова
<function>__halt_compiler</function>. Доступна только в режиме Zend Multibyte.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.signal-check">
<term>
<parameter>zend.signal_check</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Определяет, проверять ли заменённые обработчики сигналов при завершении скрипта.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.exit-on-timeout">
<term>
<parameter>exit_on_timeout</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Директива работает только с модулем mod_php веб-сервера Apache1 и заставляет дочерний процесс Apache
завершить работу при истечении времени ожидания выполнения PHP-скрипта. Превышение времени ожидания приводит
к внутреннему вызову longjmp() в Apache1, который оставляет отдельные модули
в несогласованном состоянии. По завершении процесса все неснятые блокировки
или память очистятся.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.resource-limits">
<title>Ограничения ресурсов</title>
<para>
<table>
<title>Ограничения ресурсов</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.memory-limit">memory_limit</link></entry>
<entry>"128M"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.memory-limit">
<term>
<parameter>memory_limit</parameter>
<type>int</type>
</term>
<listitem>
<para>
Директива задаёт максимальный объем памяти в байтах, который разрешается
использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо
написанный скрипт съедает всю доступную память сервера. Чтобы убрать
ограничения, установите для директивы значение <literal>-1</literal>.
</para>
&ini.shorthandbytes;
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
Смотрите также описание директивы: <link linkend="ini.max-execution-time">max_execution_time</link>.
</para>
</section>
<section xml:id="ini.sect.performance">
<title>Настройка производительности</title>
<para>
<table>
<title>Настройка производительности</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.realpath-cache-size">realpath_cache_size</link></entry>
<entry>"4M"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>До PHP 7.0.16 и 7.1.2 значение по умолчанию равнялось <literal>"16K"</literal></entry>
</row>
<row>
<entry><link linkend="ini.realpath-cache-ttl">realpath_cache_ttl</link></entry>
<entry>"120"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<para>
Директива <link linkend="ini.open-basedir">open_basedir</link>
<emphasis>отключит</emphasis> кеш realpath.
</para>
</note>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.realpath-cache-size">
<term>
<parameter>realpath_cache_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
Директива определяет размера кеша realpath, который будет использовать PHP. Это значение
требуется увеличить в системах, в которых PHP открывает много
файлов, чтобы отразить количество файловых операций, которые выполнил PHP.
</para>
<para>
Размер — общее количество байтов в сохранённых строках путей, плюс размер данных,
которые связаны с записью кеша. Это значит, что для хранения длинных путей в кеше,
размер этого кеша должен быть больше. Это значение не определяет напрямую
количество разных путей, которые PHP может закешировать.
</para>
<para>
Размер, который требуется для кеширования, зависит от системы.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.realpath-cache-ttl">
<term>
<parameter>realpath_cache_ttl</parameter>
<type>int</type>
</term>
<listitem>
<para>
Время в секундах, в течение которого PHP будет использовать realpath-кеш
для файла или директории. Для систем, в которых файлы изменяются редко,
это значение можно увеличить.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.data-handling">
<title>Обработка данных</title>
<para>
<table>
<title>Конфигурационные опции обработки данных</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.arg-separator.output">arg_separator.output</link></entry>
<entry>"&amp;"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.arg-separator.input">arg_separator.input</link></entry>
<entry>"&amp;"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.variables-order">variables_order</link></entry>
<entry>"EGPCS"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.request-order">request_order</link></entry>
<entry>""</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.auto-globals-jit">auto_globals_jit</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.register-argc-argv">register_argc_argv</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.enable-post-data-reading">enable_post_data_reading</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.post-max-size">post_max_size</link></entry>
<entry>"8M"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.auto-prepend-file">auto_prepend_file</link></entry>
<entry>NULL</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.auto-append-file">auto_append_file</link></entry>
<entry>NULL</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.default-mimetype">default_mimetype</link></entry>
<entry>"text/html"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.default-charset">default_charset</link></entry>
<entry>"UTF-8"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.input-encoding">input_encoding</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.output-encoding">output_encoding</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.internal-encoding">internal_encoding</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.arg-separator.output">
<term>
<parameter>arg_separator.output</parameter>
<type>string</type>
</term>
<listitem>
<para>
Этот разделитель используется в генерируемых PHP URL в качестве разделителя
аргументов.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.arg-separator.input">
<term>
<parameter>arg_separator.input</parameter>
<type>string</type>
</term>
<listitem>
<para>
Список разделителей, используемых PHP для получения переменных из URL.
</para>
<note>
<para>
Каждый символ в этой директиве считается разделителем!
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.variables-order">
<term>
<parameter>variables_order</parameter>
<type>string</type>
</term>
<listitem>
<para>
Устанавливает порядок обработки переменных EGPCS
(<literal>E</literal>nvironment,
<literal>G</literal>et, <literal>P</literal>ost,
<literal>C</literal>ookie, и <literal>S</literal>erver).
Например, если variables_order установлена в <literal>"SP"</literal>,
то PHP создаст &link.superglobals; <varname>$_SERVER</varname> и
<varname>$_POST</varname>, но не будет создавать
<varname>$_ENV</varname>, <varname>$_GET</varname> и
<varname>$_COOKIE</varname>. Установка в "" означает, что ни
одна &link.superglobals; не будет установлена.
</para>
<warning>
<para>
В CGI и FastCGI SAPI,
в <varname>$_SERVER</varname> также добавляются значения
переменных окружения; <literal>S</literal>
всегда эквивалентна <literal>ES</literal> вне зависимости от
самого положения <literal>E</literal> в этой директиве.
</para>
</warning>
<note>
<para>
Эта директива также влияет на содержимое и порядок переменной
<varname>$_REQUEST</varname>.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.request-order">
<term>
<parameter>request_order</parameter>
<type>string</type>
</term>
<listitem>
<para>
Эта директива регулирует порядок, в котором PHP добавляет переменные GET, POST
и Cookie в массив _REQUEST. Добавление производится слева направо,
новые значения перезаписывают старые.
</para>
<para>
Если значение этой директивы не установлено, то используется значение директивы <link
linkend="ini.variables-order">variables_order</link> для содержимого
переменной <varname>$_REQUEST</varname>.
</para>
<para>
Учтите, что файлы <filename>php.ini</filename>, поставляемые с дистрибутивом,
по соображениям безопасности не содержат значение <literal>'C'</literal> (cookies).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.auto-globals-jit">
<term>
<parameter>auto_globals_jit</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Когда включено, переменные SERVER, REQUEST и ENV создаются в тот момент, когда они
впервые используются (Just In Time), а не в начале выполнения скрипта. Если эти
переменные в скрипте не используются, включение этой директивы приведёт к росту
производительности.
</para>
<warning>
<para>
Использование переменных SERVER, REQUEST и ENV проверяется на стадии компиляции,
поэтому их использование с помощью, например, <link
linkend="language.variables.variable">переменных переменных</link> не
запустит их инициализацию.
</para>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.register-argc-argv">
<term>
<parameter>register_argc_argv</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Сообщает PHP, следует ли объявлять переменные argv и argc
(которые будут содержать GET-информацию).
</simpara>
<simpara>
Смотрите также <link linkend="features.commandline">Использование PHP в командной
строке</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.enable-post-data-reading">
<term>
<parameter>enable_post_data_reading</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
При отключении этой опции суперглобальные переменные <varname>$_POST</varname>
и <varname>$_FILES</varname> <emphasis>не будут</emphasis> заполняться.
Единственным способом прочесть POST-данные будет чтение обёртки потока
<link linkend="wrappers.php">php://input</link>.
Это может оказаться полезным при проксировании запросов или
обработки POST-данных способом, более эффективно использующим память.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.post-max-size">
<term>
<parameter>post_max_size</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Устанавливает максимально допустимый размер данных, отправляемых методом POST.
Это значение также влияет на загрузку файлов. Для загрузки больших файлов это
значение должно быть больше значения директивы
<link linkend="ini.upload-max-filesize">upload_max_filesize</link>.
</simpara>
<simpara>
В сущности,
<link linkend="ini.memory-limit">memory_limit</link> должна быть
больше чем <parameter>post_max_size</parameter>.
</simpara>
&ini.shorthandbytes;
<simpara>
Если размер POST-данных больше значения директивы post_max_size,
<link linkend="language.variables.superglobals">суперглобальные переменные</link>
<varname>$_POST</varname> и <varname>$_FILES</varname>
будут пустыми. Это проверяют разными способами, например,
передав переменную <varname>$_GET</varname> в скрипт, который обрабатывает
данные, т. е. <literal>&lt;form action="edit.php?processed=1"&gt;</literal>,
а затем проверить, установлена ли переменная <varname>$_GET['processed']</varname>.
</simpara>
<para>
<note>
<para>
PHP разрешает сокращения значений байтов, включая K (кило), M (мега) и G (гига).
PHP автоматически преобразовывает эти сокращения. Будьте осторожны с превышением
диапазона 32-битных целых значений на 32-битной версии PHP, поскольку
это приведёт к ошибке скрипта.
</para>
</note>
</para>
<para>
<table>
<title>Список изменений <literal>post_max_size</literal></title>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.3.4</entry>
<entry>
Установка <parameter>post_max_size</parameter> = 0 не снимет ограничение, если
контент имеет тип application/x-www-form-urlencoded или не зарегистрирован в PHP.
</entry>
</row>
<row>
<entry>5.3.2 , 5.2.12</entry>
<entry>
Стало возможным снять ограничение на размер пост-запроса установкой
<parameter>post_max_size</parameter> в 0.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.auto-prepend-file">
<term>
<parameter>auto_prepend_file</parameter>
<type>string</type>
</term>
<listitem>
<para>
Определяет имя файла, который будет автоматически обрабатываться
перед основным файлом. Файл вызывается так, будто он был подключён
при помощи функции <function>require</function>, так что
<link linkend="ini.include-path">include_path</link> также используется.
</para>
<para>
Специальное значение <literal>none</literal> отключает эту директиву.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.auto-append-file">
<term>
<parameter>auto_append_file</parameter>
<type>string</type>
</term>
<listitem>
<para>
Определяет имя файла, который будет автоматически обрабатываться
после основного файла. Файл вызывается так, будто он был подключён
при помощи функции <function>require</function>, так что
<link linkend="ini.include-path">include_path</link> тоже используется.
</para>
<para>
Специальное значение <literal>none</literal> отключает эту директиву.
<note>
<simpara>
Если скрипт завершает работу при помощи <function>exit</function>,
auto-append <emphasis>НЕ</emphasis> выполняется.</simpara>
</note>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.default-mimetype">
<term>
<parameter>default_mimetype</parameter>
<type>string</type>
</term>
<listitem>
<para>
По умолчанию PHP выводит название кодировки в заголовке Content-Type. Если
передавать кодировку не требуется, просто оставьте эту опцию пустой.
</para>
<para>
"media type" по умолчанию установлен как "text/html".
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.default-charset">
<term>
<parameter>default_charset</parameter>
<type>string</type>
</term>
<listitem>
<para>
"UTF-8" — значение по умолчанию и используется как
кодировка по умолчанию для функций
<function>htmlentities</function>,
<function>html_entity_decode</function>
и <function>htmlspecialchars</function>, если параметр
<parameter>encoding</parameter> не указали. Значение
<parameter>default_charset</parameter> также используется для указания
кодировки по умолчанию для функций <link linkend="book.iconv">iconv</link>, если
конфигурационные опции <link linkend="ini.iconv.input-encoding">
<parameter>iconv.input_encoding</parameter></link>, <link
linkend="ini.iconv.output-encoding"><parameter>iconv.output_encoding</parameter>
</link> и <link linkend="ini.iconv.internal-encoding"><parameter>
iconv.internal_encoding</parameter></link> не установлены, и для функций
<link linkend="book.mbstring">mbstring</link>, если не установлены
<link linkend="ini.mbstring.http-input"><parameter>mbstring.http_input</parameter></link>
<link linkend="ini.mbstring.http-output"><parameter>mbstring.http_output</parameter></link>
<link linkend="ini.mbstring.internal-encoding"><parameter>mbstring.internal_encoding</parameter></link>.
</para>
<para>
Все версии PHP используют это значение как кодировку для
стандартного заголовка Content-Type, отправляемого PHP, если
этот заголовок не переопределён вызовом функции <function>header</function>.
</para>
<para>
Не рекомендуется устанавливать <parameter>default_charset</parameter>
в пустое значение.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.input-encoding">
<term>
<parameter>input_encoding</parameter>
<type>string</type>
</term>
<listitem>
<para>
Эта опция используется для многобайтных модулей,
таких как mbstring и iconv. По умолчанию пусто.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.output-encoding">
<term>
<parameter>output_encoding</parameter>
<type>string</type>
</term>
<listitem>
<para>
Эта опция используется для многобайтных модулей,
таких как mbstring и iconv. По умолчанию пусто.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.internal-encoding">
<term>
<parameter>internal_encoding</parameter>
<type>string</type>
</term>
<listitem>
<para>
Эта опция используется для многобайтных модулей,
таких как mbstring и iconv. По умолчанию пусто. В это случае используется
<link linkend="ini.default-charset">default_charset</link>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.path-directory">
<title>Пути и Директории</title>
<para>
<table>
<title>Конфигурационные Опции Путей и Директорий</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.include-path">include_path</link></entry>
<entry>".;/path/to/php/pear"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.open-basedir">open_basedir</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.doc-root">doc_root</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.user-dir">user_dir</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.user-ini.cache-ttl">user_ini.cache_ttl</link></entry>
<entry>"300"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.user-ini.filename">user_ini.filename</link></entry>
<entry>".user.ini"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.extension-dir">extension_dir</link></entry>
<entry>"/path/to/php"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.extension">extension</link></entry>
<entry>NULL</entry>
<entry>Только &php.ini;</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend-extension">zend_extension</link></entry>
<entry>NULL</entry>
<entry>Только &php.ini;</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.check-shebang-line">cgi.check_shebang_line</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.discard-path">cgi.discard_path</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.fix-pathinfo">cgi.fix_pathinfo</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.force-redirect">cgi.force_redirect</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.nph">cgi.nph</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.redirect-status-env">cgi.redirect_status_env</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.rfc2616-headers">cgi.rfc2616_headers</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.fastcgi.impersonate">fastcgi.impersonate</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.fastcgi.logging">fastcgi.logging</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.include-path">
<term>
<parameter>include_path</parameter>
<type>string</type>
</term>
<listitem>
<para>
Указывает список директорий, в которых функции
<function>require</function>, <function>include</function>,
<function>fopen</function>, <function>file</function>,
<function>readfile</function> и <function>file_get_contents</function>
ищут файлы. Формат соответствует формату системной переменной окружения
<envar>PATH</envar>: список директорий,
разделённых двоеточием в Unix или точкой с запятой в Windows.
</para>
<para>
При поиске подключаемых файлов PHP отдельно рассматривает каждое
значение в include_path.
Он проверяет первый путь, если файл в нем не найден, то он переходит
к следующему, и так до тех пор, пока не найдёт подключаемый файл, либо
вернёт
<constant>E_WARNING</constant>
или <constant>E_ERROR</constant>.
Изменить директиву include_path во время выполнения скрипта
можно функцией <function>set_include_path</function>.
</para>
<para>
<example>
<title>include_path в Unix</title>
<programlisting role="php.ini">
<![CDATA[
include_path=".:/php/includes"
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>include_path в Windows</title>
<programlisting role="php.ini">
<![CDATA[
include_path=".;c:\php\includes"
]]>
</programlisting>
</example>
</para>
<para>
Использование <literal>.</literal> в include_path позволяет
задавать относительные пути для подключения файлов, так как
точка означает текущую директорию. Однако, более эффективно
использовать <literal>include './file'</literal>, чем заставлять
PHP каждый раз проверять текущую директорию при подключении каждого файла.
</para>
<note>
<para>
Переменные окружения (<literal>ENV</literal>) также доступны в .ini файлах.
Таким образом, можно ссылаться на домашнюю директорию с помощью директив
<literal>${LOGIN}</literal> и <literal>${USER}</literal>.
</para>
<para>
Переменные окружения могут отличаться между различными серверными API,
так как сами эти окружения отличаются друг от друга.
</para>
</note>
<para>
<example>
<title>Настройка include_path с помощью переменной окружения ${USER} в Unix</title>
<programlisting role="php.ini">
<![CDATA[
include_path = ".:${USER}/pear/php"
]]>
</programlisting>
</example>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.open-basedir">
<term>
<parameter>open_basedir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Ограничивает для PHP доступ к файлам деревом каталогов,
включая сам файл.
</para>
<para>
Когда скрипт пытается получить доступ к файловой системе, например через
выражение <function>include</function> или функцию <function>fopen</function>,
PHP проверяет расположение файла. PHP откажется получать доступ к файлу, когда
файл лежит за пределами дерева каталогов. PHP разрешит каждую символическую
ссылку, поэтому невозможно обойти ограничение через символическую ссылку.
Символическая ссылка не разрешится, если файл не существует, а PHP будет сравнивать имя файла
с разрешённым путём <option>open_basedir</option>.
</para>
<para>
Опция <option>open_basedir</option> влияет не только на функции
для работы с файловой системой; например, если СУБД <literal>MySQL</literal> настроили
на работу с драйвером <literal>mysqlnd</literal>, директива <option>open_basedir</option>
будет влиять на работу инструкции <literal>LOAD DATA INFILE</literal>.
Большая часть расширенной функциональности PHP пользуется директивой <literal>open_basedir</literal>
таким способом.
</para>
<para>
Символ точки <systemitem class="filesystem">.</systemitem> указывает,
что PHP будет использовать рабочий каталог скрипта
как базовую директорию. Однако это снижает безопасность, поскольку рабочую директорию
скрипта легко изменить функцией <function>chdir</function>.
</para>
<para>
В файле <filename>httpd.conf</filename> директиву <option>open_basedir</option> можно
<link linkend="configuration.changes.apache">отключить</link> (например, для отдельных виртуальных хостов)
как и другие конфигурационные директивы: "<literal>php_admin_value open_basedir none</literal>".
</para>
<para>
В системах под управлением ОС Windows каталоги разделяют точкой с запятой. В остальных системах
директории разделяют двоеточием. Когда PHP работает как модуль веб-сервера Apache, пути
директивы <option>open_basedir</option> из родительских каталогов теперь автоматически наследуются.
</para>
<para>
Ограничение, которое устанавливает директива <option>open_basedir</option>, —
имя каталога, а не префикс.
</para>
<para>
По умолчанию разрешается открывать все файлы.
</para>
<note>
<simpara>
Значение директивы open_basedir можно сузить во время выполнения скрипта. Это означает, что если
в файле &php.ini; для директивы open_basedir установили значение <literal>/www/</literal>,
скрипт может сузить конфигурацию директивы до каталога <literal>/www/tmp/</literal> через функцию
<function>ini_set</function>. При перечислении ряда каталогов
константу <constant>PATH_SEPARATOR</constant> указывают как разделитель путей,
который не зависит от операционной системы.
</simpara>
<simpara>
Начиная с PHP 8.3.0 директива <option>open_basedir</option> больше не принимает
пути, в которых содержится родительский каталог <literal>..</literal>, когда
значение устанавливают во время выполнения функцией <function>ini_set</function>.
</simpara>
</note>
<note>
<para>
Директива open_basedir установит для директивы <link linkend="ini.realpath-cache-size">realpath_cache_size</link>
значение <literal>0</literal>, которое <emphasis>отключит</emphasis> realpath-кеш.
</para>
</note>
<caution>
<para>
Опция конфигурации <literal>open_basedir</literal> — просто дополнительная подстраховка,
которая не претендует всесторонность,
и поэтому на директиву нельзя полагаться, когда дело касается безопасности.
</para>
</caution>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.doc-root">
<term>
<parameter>doc_root</parameter>
<type>string</type>
</term>
<listitem>
<para>
"Корневая директория" PHP на этом сервере. Используется только в
случае, если не пустая.
Если PHP не был скомпилирован с FORCE_REDIRECT, вам <emphasis>следует
</emphasis> установить doc_root, если вы используете PHP в качестве
CGI под любым веб-сервером (кроме IIS). Альтернативой является
использование конфигурационной директивы
<link linkend="ini.cgi.force-redirect">cgi.force_redirect</link>,
речь о которой идёт ниже.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.user-ini.cache-ttl">
<term>
<parameter>user_ini.cache_ttl</parameter>
<type>int</type>
</term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.user-ini.filename">
<term>
<parameter>user_ini.filename</parameter>
<type>string</type>
</term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.user-dir">
<term>
<parameter>user_dir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Базовое имя директории, используемой в домашнем каталоге пользователя
для PHP файлов, например, <filename class="directory">public_html</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.extension-dir">
<term>
<parameter>extension_dir</parameter>
<type>string</type>
</term>
<listitem>
<para>
В какой директории PHP должен искать динамически загружаемые модули.
Рекомендуется указывать абсолютный путь. Смотрите
также: <link linkend="ini.enable-dl">enable_dl</link> и <function>dl</function>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.extension">
<term>
<parameter>extension</parameter>
<type>string</type>
</term>
<listitem>
<para>
Какие динамически загружаемые модули должны быть загружены при старте PHP.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend-extension">
<term>
<parameter>zend_extension</parameter>
<type>string</type>
</term>
<listitem>
<para>
Имя динамически загружаемого модуля Zend (например,
XDebug), который должен быть загружен при старте PHP.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.check-shebang-line">
<term>
<parameter>cgi.check_shebang_line</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Контролирует, нужно ли проверять первую строку <acronym>CGI</acronym>
PHP-скрипта на содержание <literal>#!</literal> (shebang).
Эта строка может быть необходима, если скрипт должен поддерживать как отдельный
запуск, так и с помощью PHP <acronym>CGI</acronym>. PHP в режиме
<acronym>CGI</acronym> пропускает эту строку и игнорирует её
содержимое, если данная директива включена.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.discard-path">
<term>
<parameter>cgi.discard_path</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Если разрешено, бинарный файл PHP CGI может безопасно располагаться вне веб-дерева
и люди не смогут обойти безопасность .htaccess.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.fix-pathinfo">
<term>
<parameter>cgi.fix_pathinfo</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Обеспечивает поддержку <emphasis>правильных</emphasis>
<literal>PATH_INFO</literal>/<literal>PATH_TRANSLATED</literal>
в <acronym>CGI</acronym>. Раньше PHP просто устанавливал
<literal>PATH_TRANSLATED</literal> в <literal>SCRIPT_FILENAME</literal>
и не обращал внимания на <literal>PATH_INFO</literal>.
Для получения дополнительной информации о <literal>PATH_INFO</literal>,
обратитесь к спецификации <acronym>CGI</acronym>. Установка этого
значения в <literal>1</literal> заставит PHP <acronym>CGI</acronym>
исправлять свой путь в соответствии со спецификацией. Значение 0
соответствует предыдущему поведению. По умолчанию опция включена.
Вы должны исправить свои скрипты так, чтобы они использовали
<literal>SCRIPT_FILENAME</literal> вместо <literal>PATH_TRANSLATED</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.force-redirect">
<term>
<parameter>cgi.force_redirect</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Директива cgi.force_redirect необходима для обеспечения безопасности
во время работы PHP в качестве <acronym>CGI</acronym> под большинством
веб-серверов. Если оставить её неопределённой, по умолчанию PHP включает эту
директиву. Вы можете выключить её <emphasis>на свой страх и
риск</emphasis>.
</para>
<note>
<para>
Пользователям Windows: При использовании IIS эта опция
<emphasis>должна</emphasis> быть отключена. Тоже самое необходимо
для OmniHTTPD и Xitami.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.nph">
<term>
<parameter>cgi.nph</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Если cgi.nph разрешена, cgi будет принудительно возвращать код 200 на каждый запрос.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.redirect-status-env">
<term>
<parameter>cgi.redirect_status_env</parameter>
<type>string</type>
</term>
<listitem>
<para>
Если cgi.force_redirect включена и вы работаете не под веб-сервером
Apache или Netscape (iPlanet), вам <emphasis>может</emphasis>
понадобиться установить переменную окружения, которую будет искать
PHP чтобы убедиться, что он может продолжать выполнение.
</para>
<note>
<para>
Установка этой переменной <emphasis>может</emphasis> повлечь за собой проблемы с
безопасностью, так что <emphasis>вы должны знать, что вы делаете</emphasis>.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.rfc2616-headers">
<term>
<parameter>cgi.rfc2616_headers</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Директива сообщает PHP, какой тип заголовков отправлять
с HTTP-кодом ответа. При отключённой директиве PHP отправляет
заголовок по стандарту <link xlink:href="&url.rfc;3875">RFC 3875</link> — "Status:",
который поддерживается Apache и другими веб-серверами.
При включённой директиве PHP отправит заголовки, которые соответствуют
стандарту <link xlink:href="&url.rfc;2616">RFC 2616</link>.
</para>
<para>
При включённой директиве и работе PHP в CGI-окружении наподобие
PHP-FPM вместо HTTP-заголовков ответа в стиле стандарта
RFC 2616 потребуется использовать эквивалент этих заголовков из стандарта RFC 3875,
например, вместо header("HTTP/1.0 404 Not found"); потребуется указать
header("Status: 404 Not Found");
</para>
<para>
Опцию включают, только если знают о последствиях.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.fastcgi.impersonate">
<term>
<parameter>fastcgi.impersonate</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Режим FastCGI на веб-серверах IIS (в ОС на базе WINNT) поддерживает возможность имперсонации прав
безопасности вызывающего клиента. Это помогает веб-серверу IIS определить контекст безопасности,
в котором выполняется запрос. Модуль mod_fastcgi под Apache пока
не поддерживает эту функцию (03/17/2002).
Директиву включают при работе под IIS. По умолчанию опция отключена.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.fastcgi.logging">
<term>
<parameter>fastcgi.logging</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Включает логирование SAPI при использовании FastCGI. Логирование
включено по умолчанию.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.file-uploads">
<title>Закачивание Файлов</title>
<para>
<table>
<title>Конфигурационные Опции Закачивания Файлов</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.file-uploads">file_uploads</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.upload-tmp-dir">upload_tmp_dir</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-nesting-level">max_input_nesting_level</link></entry>
<entry>64</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-vars">max_input_vars</link></entry>
<entry>1000</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.upload-max-filesize">upload_max_filesize</link></entry>
<entry>"2M"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-file-uploads">max_file_uploads</link></entry>
<entry>20</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.file-uploads">
<term>
<parameter>file_uploads</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Разрешать или не разрешать
<link linkend="features.file-upload">закачивание файлов</link>. Смотрите также директивы
<link linkend="ini.upload-max-filesize">upload_max_filesize</link>,
<link linkend="ini.upload-tmp-dir">upload_tmp_dir</link> и
<link linkend="ini.post-max-size">post_max_size</link>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.upload-tmp-dir">
<term>
<parameter>upload_tmp_dir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Временная директория для хранения файлов при
передаче. Каталог должен быть доступен для записи пользователю,
от имени которого запустили PHP. PHP будет использовать системную директорию
по умолчанию, если каталог не указали.
</para>
<para>
Если к указанной директории нет прав на запись, PHP откатится обратно к системной
временной директории по умолчанию. Если включили директиву
<link linkend="ini.open-basedir">open_basedir</link>, то для успешной передачи файлов
необходимо разрешить системный каталог по умолчанию.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.upload-max-filesize">
<term>
<parameter>upload_max_filesize</parameter>
<type>int</type>
</term>
<listitem>
<para>
Максимальный размер закачиваемого файла.
</para>
<para>
<link linkend="ini.post-max-size">post_max_size</link> должен быть больше, чем это значение.
</para>
&ini.shorthandbytes;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-file-uploads">
<term>
<parameter>max_file_uploads</parameter>
<type>int</type>
</term>
<listitem>
<para>
Максимально разрешённое количество одновременно закачиваемых файлов.
Пустые поля загрузки не рассматриваются этим ограничением.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.sql-general">
<title>Общий SQL</title>
<para>
<table>
<title>Конфигурационные Опции Общего SQL</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.sql.safe-mode">sql.safe_mode</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Удалён в PHP 7.2.0</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.sql.safe-mode">
<term>
<parameter>sql.safe_mode</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Если включена, функции соединения с базой данных, использующие
значения по умолчанию, будут использовать эти значения вместо
любых передаваемых аргументов. Для значений по умолчанию смотрите
документацию по функциям подключения соответствующей базы данных.
</para>
<warning>
<simpara>
Эта опция <emphasis>УДАЛЕНА</emphasis> в PHP 7.2.0.
</simpara>
</warning>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.windows">
<title>Особые настройки для ОС Windows</title>
<para>
<table>
<title>Особые опции конфигурации для ОС Windows</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.windows-show-crt-warning">windows.show_crt_warning</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.windows-show-crt-warning">
<term>
<parameter>windows.show_crt_warning</parameter>
<type>bool</type>
</term>
<listitem>
<para>
При включении данной директивы будут отображаться предупреждения Windows CRT.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
</section>
<!-- 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
-->