<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/info.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'info.configuration.php',
    1 => 'Настройка во время выполнения',
    2 => 'Настройка во время выполнения',
  ),
  'up' => 
  array (
    0 => 'info.setup.php',
    1 => 'Установка и настройка',
  ),
  'prev' => 
  array (
    0 => 'info.setup.php',
    1 => 'Установка и настройка',
  ),
  'next' => 
  array (
    0 => 'info.constants.php',
    1 => 'Предопределённые константы',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/info/ini.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="info.configuration" class="section">
 <h2 class="title">Настройка во время выполнения</h2>
 <p class="simpara">
Поведение функций зависит от установок в файле <var class="filename">php.ini</var>.
</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Настройки PHP/Параметры конфигурации информации</strong></caption>
   
    <thead>
     <tr>
      <th>Имя</th>
      <th>По умолчанию</th>
      <th>Место изменения</th>
      <th>Список изменений</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="info.configuration.php#ini.assert.active" class="link">assert.active</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>
       Устарело с PHP 8.3.0
      </td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.assert.bail" class="link">assert.bail</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Устарело с PHP 8.3.0</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.assert.warning" class="link">assert.warning</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Устарело с PHP 8.3.0</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.assert.callback" class="link">assert.callback</a></td>
      <td>NULL</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Устарело с PHP 8.3.0</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.assert.quiet-eval" class="link">assert.quiet_eval</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Удалено в PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.assert.exception" class="link">assert.exception</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>
       До PHP 8.0.0 значение по умолчанию было <code class="literal">&quot;0&quot;</code>.
       Устарело с PHP 8.3.0
      </td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.enable-dl" class="link">enable_dl</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>
Функция устарела и ее <em>удалят</em> в будущем.</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.max-execution-time" class="link">max_execution_time</a></td>
      <td>&quot;30&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.max-input-time" class="link">max_input_time</a></td>
      <td>&quot;-1&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-perdir">INI_PERDIR</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.max-input-nesting-level" class="link">max_input_nesting_level</a></td>
      <td>&quot;64&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-perdir">INI_PERDIR</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.max-input-vars" class="link">max_input_vars</a></td>
      <td>1000</td>
      <td><strong><code><a href="info.constants.php#constant.ini-perdir">INI_PERDIR</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.zend.enable-gc" class="link">zend.enable_gc</a></td>
      <td>&quot;1&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.zend.max-allowed-stack-size" class="link">zend.max_allowed_stack_size</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Доступна с PHP 8.3.0.</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.zend.reserved-stack-size" class="link">zend.reserved_stack_size</a></td>
      <td>&quot;0&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Доступна с PHP 8.3.0.</td>
     </tr>

     <tr>
      <td><a href="info.configuration.php#ini.fiber.stack-size" class="link">fiber.stack_size</a></td>
      <td class="empty">&nbsp;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Доступна с PHP 8.1.0.</td>
     </tr>

    </tbody>
   
  </table>

  Дополнительную информацию и определения режимов
INI_* даёт раздел «<a href="configuration.changes.modes.php" class="xref">Места установки параметров конфигурации</a>».
 </p>

 <p class="para">Краткое разъяснение конфигурационных
директив.</p>

 <p class="para">
  <dl>
   
    <dt id="ini.assert.active">
     <code class="parameter">assert.active</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Включение выполнение <span class="function"><a href="function.assert.php" class="function">assert()</a></span>.
      <a href="ini.core.php#ini.zend.assertions" class="link">zend.assertions</a> следует использовать
      вместо этого для управления поведением функции <span class="function"><a href="function.assert.php" class="function">assert()</a></span>.
     </p>
     
<div class="warning"><strong class="warning">Внимание</strong>
 <p class="simpara">
  Начиная с PHP 8.3.0 функциональность <em>УСТАРЕЛА</em>.
  Полагаться на функциональность настоятельно не рекомендуют.
 </p>
</div>
    </dd>
   

   
    <dt id="ini.assert.bail">
     <code class="parameter">assert.bail</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Завершение работы скрипта при провале проверки утверждений.
     </p>
     
<div class="warning"><strong class="warning">Внимание</strong>
 <p class="simpara">
  Начиная с PHP 8.3.0 функциональность <em>УСТАРЕЛА</em>.
  Полагаться на функциональность настоятельно не рекомендуют.
 </p>
</div>
    </dd>
   

   
    <dt id="ini.assert.warning">
     <code class="parameter">assert.warning</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Вызов предупреждений PHP для каждой проваленной проверки утверждения.
     </p>
     
<div class="warning"><strong class="warning">Внимание</strong>
 <p class="simpara">
  Начиная с PHP 8.3.0 функциональность <em>УСТАРЕЛА</em>.
  Полагаться на функциональность настоятельно не рекомендуют.
 </p>
</div>
    </dd>
   

   
    <dt id="ini.assert.callback">
     <code class="parameter">assert.callback</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <p class="para">
      Пользовательская функция, вызываемая при провале проверки утверждений.
     </p>
    </dd>
   

   
    <dt id="ini.assert.quiet-eval">
     <code class="parameter">assert.quiet_eval</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <div class="warning"><strong class="warning">Внимание</strong>
<p class="simpara">В PHP 8.0.0 функциональность <em>УДАЛИЛИ</em>.</p>
</div>
     <p class="para">
      Используйте эту настройку функции <span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span>
      во время выполнения проверки утверждений. При включении настройки сообщения
      об ошибках во время проверки утверждений показываться не будут (неявный
      вызов error_reporting(0)). Если настройка выключена, ошибки будут выдаваться
      в соответствии с настройками <span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span>
     </p>
    </dd>
   

   
    <dt id="ini.assert.exception">
     <code class="parameter">assert.exception</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Выбрасывает исключение <span class="classname"><a href="class.assertionerror.php" class="classname">AssertionError</a></span> в случае неудачной проверки утверждения.
     </p>
     
<div class="warning"><strong class="warning">Внимание</strong>
 <p class="simpara">
  Начиная с PHP 8.3.0 функциональность <em>УСТАРЕЛА</em>.
  Полагаться на функциональность настоятельно не рекомендуют.
 </p>
</div>
    </dd>
   

   
    <dt id="ini.enable-dl">
     <code class="parameter">enable_dl</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Директива позволяет включать и выключать динамическую подгрузку модулей
      PHP с помощью функции <span class="function"><a href="function.dl.php" class="function">dl()</a></span>.
     </p>
     <p class="para">
      Главной причиной, по которой требуется выключение динамической загрузки,
      является безопасность. С помощью динамической загрузки можно обойти все
      <a href="ini.core.php#ini.open-basedir" class="link">open_basedir</a> ограничения. По
      умолчанию динамическая загрузка разрешена.
     </p>
    </dd>
   

   
    <dt id="ini.max-execution-time">
     <code class="parameter">max_execution_time</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Эта директива задаёт максимальное время в секундах, в течение которого
      скрипт должен полностью загрузиться. Если этого не происходит, парсер
      завершает работу скрипта. Этот механизм помогает предотвратить зависание сервера
      из-за плохо написанного скрипта. По умолчанию на загрузку даётся
      <code class="literal">30</code> секунд. Если PHP запущен из
      <a href="features.commandline.php" class="link">командной строки</a>, это значение
      по умолчанию равно <code class="literal">0</code>.
     </p>
     <p class="para">
      В системах, отличных от Windows, на максимальное время выполнения не влияют системные вызовы, потоковые
      операции и т.п. За дополнительной информацией обращайтесь к документации к
      функции <span class="function"><a href="function.set-time-limit.php" class="function">set_time_limit()</a></span>.
     </p>
     <p class="para">
      Веб-серверы обычно имеют свои настройки времени ожидания, по превышении которого сами
      завершают выполнение скрипта PHP. В Apache есть директива
      <code class="literal">Timeout</code>, в IIS есть функция CGI timeout. В обоих случаях
      по умолчанию установлено 300 секунд. Точные значения можно узнать из
      документации к веб-серверу.
     </p>
    </dd>
   

   
    <dt id="ini.max-input-time">
     <code class="parameter">max_input_time</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Эта директива задаёт максимальное время в секундах, в течение которого скрипт
      должен разобрать все входные данные, переданные запросами вроде POST или GET.
      Это время измеряется от момента, когда PHP вызван на сервере до
      момента, когда скрипт начинает выполняться.
      Значение по умолчанию <code class="literal">-1</code>, что означает, что будет использоваться
      <a href="info.configuration.php#ini.max-execution-time" class="link">max_execution_time</a>. Если установить
      равным <code class="literal">0</code>, то ограничений по времени не будет.
     </p>
    </dd>
   

   
    <dt id="ini.max-input-nesting-level">
     <code class="parameter">max_input_nesting_level</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Задаёт максимальную глубину вложенности
      <a href="language.variables.external.php" class="link">входных переменных</a> (то есть
      <var class="varname"><a href="reserved.variables.get.php" class="classname">$_GET</a></var>, <var class="varname"><a href="reserved.variables.post.php" class="classname">$_POST</a></var>.)
     </p>
    </dd>
   

   
    <dt id="ini.max-input-vars">
     <code class="parameter">max_input_vars</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Сколько <a href="language.variables.external.php" class="link">входных переменных</a>
      может быть принято в одном запросе (ограничение накладывается на каждую из
      глобальных переменных $_GET, $_POST и $_COOKIE отдельно).
      Использование этой директивы снижает
      вероятность сбоев в случае атак с использованием хеш-коллизий. Если входных
      переменных больше, чем задано директивой, выбрасывается предупреждение
      <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong>, а все последующие переменные в запросе
      игнорируются.
     </p>
    </dd>
   

   
    <dt id="ini.zend.enable-gc">
     <code class="parameter">zend.enable_gc</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <p class="para">
      Включает или отключает сборщик циклических ссылок.
     </p>
    </dd>
   

   
    <dt id="ini.zend.max-allowed-stack-size">
     <code class="parameter">zend.max_allowed_stack_size</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Максимальное пространство стека, которое операционная система позволяет занимать программе.
      Попытка занять больше места, чем позволяет операционная система, обычно приводит
      к жёсткому аварийному завершению работы, при этом отладочная информация будет недоступна.
      Чтобы облегчить отладку, движок выбрасывает ошибку <span class="classname"><a href="class.error.php" class="classname">Error</a></span> до того,
      как это произойдёт (когда программа использует более
      <a href="info.configuration.php#ini.zend.max-allowed-stack-size" class="link">zend.max_allowed_stack_size</a>-<a href="info.configuration.php#ini.zend.reserved-stack-size" class="link">zend.reserved_stack_size</a>
      байт стека).
     </p>
     <p class="para">
      Рекурсия в пользовательском коде не занимает место в стеке.
      Однако внутренние функции и магические методы потребляют его.
      Очень глубокая рекурсия с участием этих функций может привести к тому,
      что программа исчерпает всё доступное место в стеке.
     </p>
     <p class="para">
      Для этого параметра возможны следующие значения:
      <ul class="simplelist">
       <li>
        <code class="literal">0</code>:
        Автоматическое определение максимального пространства стека,
        которое операционная система позволяет занимать программе.
        Значение используется по умолчанию.
        Если определение невозможно, используется известное системное значение по умолчанию.
       </li>
       <li>
        <code class="literal">-1</code>: Отключает проверку размера стека в движке.
       </li>
       <li>
        Положительное целое число: Фиксированный размер в байтах.
        Слишком большое значение приведёт к тому же,
        что и отключение проверки размера стека.
       </li>
      </ul>
     </p>
     <p class="para">
      Поскольку размер стека <a href="language.fibers.php" class="link">файберов</a> определяется
      значением <a href="info.configuration.php#ini.fiber.stack-size" class="link">fiber.stack_size</a>,
      значение этого параметра используется вместо <a href="info.configuration.php#ini.zend.max-allowed-stack-size" class="link">zend.max_allowed_stack_size</a>
      при проверке использования стека во время выполнения файбера.
     </p>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <p class="para">
       Это не связано с переполнениями стека <em>буфера</em>
       и не является функцией безопасности.
      </p>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.zend.reserved-stack-size">
     <code class="parameter">zend.reserved_stack_size</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Зарезервированный размер стека, в байтах.
      Значение вычитается из
      <a href="info.configuration.php#ini.zend.max-allowed-stack-size" class="link">максимально допустимого размера стека</a>,
      в качестве буфера, при проверке размера стека.
     </p>
     <p class="para">
      Для этого параметра возможны следующие значения:
      <ul class="simplelist">
       <li>
        <code class="literal">0</code>: Автоматическое определение разумного размера.
       </li>
       <li>
        Положительное целое число: Фиксированный размер в байтах.
       </li>
      </ul>
     </p>
    </dd>
   

   
    <dt id="ini.fiber.stack-size">
     <code class="parameter">fiber.stack_size</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Размер стека в байтах, выделенный для каждого
      <a href="language.fibers.php" class="link">файбера</a>.
     </p>
     <p class="para">
      Значение по умолчанию - 1 Мбайт на системах с размером указателя
      менее 8 байт или 2 Мбайт в противном случае.
     </p>
    </dd>
   

  </dl>
 </p>
</div><?php manual_footer($setup); ?>