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

contributors($setup);

?>
<div id="session.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>Опции настройки механизма сессий</strong></caption>
   
    <thead>
     <tr>
      <th>Имя</th>
      <th>По умолчанию</th>
      <th>Место изменения</th>
      <th>Список изменений</th>
     </tr>

    </thead>

   <tbody class="tbody">
     <tr>
      <td><a href="session.configuration.php#ini.session.save-path" class="link">session.save_path</a></td>
      <td>&quot;&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="session.configuration.php#ini.session.name" class="link">session.name</a></td>
      <td>&quot;PHPSESSID&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="session.configuration.php#ini.session.save-handler" class="link">session.save_handler</a></td>
      <td>&quot;files&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="session.configuration.php#ini.session.auto-start" class="link">session.auto_start</a></td>
      <td>&quot;0&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="session.configuration.php#ini.session.gc-probability" class="link">session.gc_probability</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="session.configuration.php#ini.session.gc-divisor" class="link">session.gc_divisor</a></td>
      <td>&quot;100&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="session.configuration.php#ini.session.gc-maxlifetime" class="link">session.gc_maxlifetime</a></td>
      <td>&quot;1440&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="session.configuration.php#ini.session.serialize-handler" class="link">session.serialize_handler</a></td>
      <td>&quot;php&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="session.configuration.php#ini.session.cookie-lifetime" class="link">session.cookie_lifetime</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 class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cookie-path" class="link">session.cookie_path</a></td>
      <td>&quot;/&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="session.configuration.php#ini.session.cookie-domain" class="link">session.cookie_domain</a></td>
      <td>&quot;&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="session.configuration.php#ini.session.cookie-secure" class="link">session.cookie_secure</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 7.2.0 значение по умолчанию было <code class="literal">&quot;&quot;</code>.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.cookie-httponly" class="link">session.cookie_httponly</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 7.2.0 значение по умолчанию было <code class="literal">&quot;&quot;</code>.</td>
     </tr>

     <tr>
     <td><a href="session.configuration.php#ini.session.cookie-samesite" class="link">session.cookie_samesite</a></td>
     <td>&quot;&quot;</td>
     <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
     <td>Директива доступна с PHP 7.3.0.</td>
    </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.use-strict-mode" class="link">session.use_strict_mode</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 class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.use-cookies" class="link">session.use_cookies</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="session.configuration.php#ini.session.use-only-cookies" class="link">session.use_only_cookies</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="session.configuration.php#ini.session.referer-check" class="link">session.referer_check</a></td>
      <td>&quot;&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="session.configuration.php#ini.session.cache-limiter" class="link">session.cache_limiter</a></td>
      <td>&quot;nocache&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="session.configuration.php#ini.session.cache-expire" class="link">session.cache_expire</a></td>
      <td>&quot;180&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="session.configuration.php#ini.session.use-trans-sid" class="link">session.use_trans_sid</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 class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.trans-sid-tags" class="link">session.trans_sid_tags</a></td>
      <td>&quot;a=href,area=href,frame=src,form=&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Директива доступна с PHP 7.1.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.trans-sid-hosts" class="link">session.trans_sid_hosts</a></td>
      <td><code class="literal">$_SERVER[&#039;HTTP_HOST&#039;]</code></td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Директива доступна с PHP 7.1.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.sid-length" class="link">session.sid_length</a></td>
      <td>&quot;32&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Директива была доступна с PHP 7.1.0 и устарела с PHP 8.4.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.sid-bits-per-character" class="link">session.sid_bits_per_character</a></td>
      <td>&quot;4&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Директива была доступна с PHP 7.1.0 и устарела с PHP 8.4.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.upload-progress.enabled" class="link">session.upload_progress.enabled</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="session.configuration.php#ini.session.upload-progress.cleanup" class="link">session.upload_progress.cleanup</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="session.configuration.php#ini.session.upload-progress.prefix" class="link">session.upload_progress.prefix</a></td>
      <td>&quot;upload_progress_&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="session.configuration.php#ini.session.upload-progress.name" class="link">session.upload_progress.name</a></td>
      <td>&quot;PHP_SESSION_UPLOAD_PROGRESS&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="session.configuration.php#ini.session.upload-progress.freq" class="link">session.upload_progress.freq</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="session.configuration.php#ini.session.upload-progress.min-freq" class="link">session.upload_progress.min_freq</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="session.configuration.php#ini.session.lazy-write" class="link">session.lazy_write</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="session.configuration.php#ini.session.hash-function" class="link">session.hash_function</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 7.1.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.hash-bits-per-character" class="link">session.hash_bits_per_character</a></td>
      <td>&quot;4&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Удалена в PHP 7.1.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.entropy-file" class="link">session.entropy_file</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>Удалена в PHP 7.1.0.</td>
     </tr>

     <tr>
      <td><a href="session.configuration.php#ini.session.entropy-length" class="link">session.entropy_length</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 7.1.0.</td>
     </tr>

    </tbody>
   
  </table>

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

   
    <dt id="ini.session.save-handler">
     <code class="parameter">session.save_handler</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.save_handler</code> определяет имя обработчика, который
      сохраняет и извлекает данные сессии.
      По умолчанию значение директивы равно <code class="literal">files</code>. Обратите внимание,
      отдельные модули регистрируют свои обработчики
      (<code class="literal">save_handler</code>). Текущие зарегистрированные обработчики
      отображает функция <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span>. Смотрите также
      описание функции <span class="function"><a href="function.session-set-save-handler.php" class="function">session_set_save_handler()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.save-path">
     <code class="parameter">session.save_path</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.save_path</code> определяет аргумент, который
      передаётся в обработчик сохранения. Если выбран обработчик файлов
      по умолчанию, аргумент содержит путь, по которому будут создаваться файлы.
      Смотрите также описание функции <span class="function"><a href="function.session-save-path.php" class="function">session_save_path()</a></span>.
     </span>
     <p class="para">
      Для этой директивы можно задать необязательный аргумент <code class="literal">N</code>,
      который определяет глубину вложенных директорий, по которым будут распределены
      файлы сессий.
      Например, установка значения <code class="literal">&#039;5;/tmp&#039;</code> может
      расположить созданный файл сессии по такому пути:
      <code class="literal">/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If</code>.
      Чтобы использовать аргумент <code class="literal">N</code>,
      вначале необходимо создать все эти директории.
      Для этого в директории <var class="filename">ext/session</var>
      существует небольшой скрипт оболочки, который в Linux-системах
      называется <var class="filename">mod_files.sh</var>, а в системах Windows <var class="filename">mod_files.bat</var>.
      Заметьте также, что если значение аргумента <code class="literal">N</code> определили и оно больше 0, то сборщик мусора
      не будет автоматически собирать мусор, подробнее об этом сообщает файл <var class="filename">php.ini</var>.
      А также, если аргумент <code class="literal">N</code> задали, необходимо удостовериться,
      что значение директивы <code class="literal">session.save_path</code> указали в кавычках,
      поскольку разделитель (<code class="literal">;</code>) в файле <var class="filename">php.ini</var> также указывают для комментариев.
     </p>
     <p class="para">
      Модуль хранения файлов создаёт файлы с правами 600 по умолчанию.
      Значение по умолчанию можно изменить необязательным аргументом <code class="literal">MODE</code>:
      <code class="literal">N;MODE;/path</code>, где <code class="literal">MODE</code> — восьмеричное
      представление режима доступа к файлу.
      Установка аргумента <code class="literal">MODE</code> не влияет
      на обработку umask.
     </p>
     <div class="warning"><strong class="warning">Внимание</strong>
      <p class="para">
       Если установить в качестве значения общедоступную для чтения директорию,
       например, <var class="filename">/tmp</var> (по умолчанию), остальные пользователи
       сервера смогут перехватить сессию пользователя,
       получив список файлов в этой директории.
      </p>
     </div>
     <div class="caution"><strong class="caution">Предостережение</strong>
      <p class="para">
       При указании уже описанного необязательного аргумента уровня вложенности директорий <code class="literal">N</code>,
       учитывают, что значение выше чем 1 или 2 недопустимо для большей части сайтов
       из-за того, что нужно создать много директорий: например, значение 3 означает, что
       в файловой системе существует
       <code class="literal">(2 ** session.sid_bits_per_character) ** 3</code> директорий,
       которые могут напрасно занимать много дискового пространства и индексных дескрипторов (inodes).
      </p>
      <p class="para">
       Значения больше 2 для аргумента <code class="literal">N</code> указывают, только если
       совершенно уверены, что размер сайта соответствует такому требованию.
      </p>
     </div>
    </dd>
   

   
    <dt id="ini.session.name">
     <code class="parameter">session.name</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.name</code> определяет название сессии,
      которое будет использовано как название cookies. В директиве разрешено указывать только цифры и буквы.
      Значение по умолчанию — <code class="literal">PHPSESSID</code>.
      Смотрите также описание функции <span class="function"><a href="function.session-name.php" class="function">session_name()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.auto-start">
     <code class="parameter">session.auto_start</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.auto_start</code> определяет, будет ли модуль сессии
      запускать сессию автоматически при старте. Значение по умолчанию
      <code class="literal">0</code> (отключено).
     </span>
    </dd>
   

   
    <dt id="ini.session.serialize-handler">
     <code class="parameter">session.serialize_handler</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.serialize_handler</code> определяет имя обработчика,
      который будет использован для сериализации/десериализации данных.
      Поддерживаются формат сериализации PHP (наименование <code class="literal">php_serialize</code>),
      внутренний формат PHP (наименование <code class="literal">php</code> и
      <code class="literal">php_binary</code>) и WDDX
      (наименование <code class="literal">wddx</code>). WDDX доступен только в том случае,
      если PHP скомпилирован с <a href="ref.wddx.php" class="link">поддержкой WDDX</a>.
      <code class="literal">php_serialize</code> использует
      простую функцию сериализации/десериализации для внутренних нужд и
      не имеет тех ограничений, какие есть у <code class="literal">php</code> и <code class="literal">php_binary</code>.
      Старые обработчики сериализации не могут хранить
      ни числовые, ни строковые индексы, содержащие специальные символы
      (<code class="literal">|</code> и <code class="literal">!</code>) в $_SESSION.
      Используйте <code class="literal">php_serialize</code>, чтобы обойти
      ошибки числовых и строковых индексов при завершении скрипта.
      Значение по умолчанию <code class="literal">php</code>.
     </span>
    </dd>
   

   
    <dt id="ini.session.gc-probability">
     <code class="parameter">session.gc_probability</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Директива <code class="literal">session.gc_probability</code> в сочетании
      с директивой <code class="literal">session.gc_divisor</code> определяет вероятность запуска
      функции сборщика мусора (gc, garbage collection).
      Значение по умолчанию равно <code class="literal">1</code>. Параметр принимает только значения,
      которые больше или равны <code class="literal">0</code>.
      Описание директивы <a href="session.configuration.php#ini.session.gc-divisor" class="link">session.gc_divisor</a>
      даёт дополнительную информацию.
     </span>
    </dd>
   

   
    <dt id="ini.session.gc-divisor">
     <code class="parameter">session.gc_divisor</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Директива <code class="literal">session.gc_divisor</code> в сочетании
      с директивой <code class="literal">session.gc_probability</code> определяет вероятность запуска функции сборщика мусора
      (gc, garbage collection) при каждой инициализации сессии. Вероятность рассчитывается
      как gc_probability/gc_divisor, то есть 1/100 означает, что функция gc запускается в одном
      случае из ста, или 1% при каждом запросе.
      Значение директивы <code class="literal">session.gc_divisor</code> по умолчанию равно <code class="literal">100</code>.
      Параметр принимает только значения больше <code class="literal">0</code>.
     </span>
    </dd>
   

   
    <dt id="ini.session.gc-maxlifetime">
     <code class="parameter">session.gc_maxlifetime</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.gc_maxlifetime</code> задаёт отсрочку времени в секундах, после
      которой данные будут рассматриваться как &quot;мусор&quot; и потенциально будут удалены. Сбор
      мусора может произойти в течение старта сессии (в зависимости от значений
      <a href="session.configuration.php#ini.session.gc-probability" class="link">session.gc_probability</a> и
      <a href="session.configuration.php#ini.session.gc-divisor" class="link">session.gc_divisor</a>).
      По умолчанию значение <code class="literal">1440</code> (24 минуты).
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Если разные скрипты имеют разные значения <code class="literal">session.gc_maxlifetime</code>,
       но при этом одни и те же места для хранения данных сессии, то скрипт с минимальным
       значением уничтожит все данные. В таком случае следует использовать
       эту директиву вместе с
       <a href="session.configuration.php#ini.session.save-path" class="link">session.save_path</a>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.referer-check">
     <code class="parameter">session.referer_check</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.referer_check</code> содержит подстроку, которую
      можно использовать при проверке HTTP Referer. Если клиентом был послан
      referer и подстрока не была выявлена, то идентификатор сессии
      будет помечен как недействительный. По умолчанию используется пустая строка.
     </span>
    </dd>
   

   
    <dt id="ini.session.entropy-file">
     <code class="parameter">session.entropy_file</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.entropy_file</code> содержит путь к ресурсу (файлу),
      используемому как дополнительный источник энтропии в процессе создания
      идентификатора сессии. Например, <code class="literal">/dev/random</code> или
      <code class="literal">/dev/urandom</code>, которые доступны на многих Unix-системах.
     </span>
     <span class="simpara">
      Эта возможность также поддерживается в Windows. Указание
      ненулевого значения в <code class="literal">session.entropy_length</code> предписывает PHP
      использовать в качестве источника энтропии Windows Random API.
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Удалено в PHP 7.1.0.
      </span>
      <span class="simpara">
       <code class="literal">session.entropy_file</code> имеет значение по умолчанию
       равное <code class="literal">/dev/urandom</code> или <code class="literal">/dev/arandom</code>, если они
       доступны.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.entropy-length">
     <code class="parameter">session.entropy_length</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.entropy_length</code> определяет количество байт,
      которые будут прочитаны из вышеуказанного файла. По умолчанию <code class="literal">32</code>.
     </span>
     <span class="simpara">
      Удалено в PHP 7.1.0.
     </span>
    </dd>
   

   
    <dt id="ini.session.use-strict-mode">
     <code class="parameter">session.use_strict_mode</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.use_strict_mode</code> определяет
      будет ли модуль использовать режим строгого идентификатора (ID).
      Если от браузера получен неопределённый ID, то браузеру будет отправлен новый ID.
      Таким образом приложения защищаются от фиксации сессии с помощью строгого режима.
      По умолчанию <code class="literal">0</code> (отключено).
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Включение <code class="literal">session.use_strict_mode</code> является обязательным для
       общей безопасности сессии. Всем сайтам рекомендуется её включать.
       Смотрите примеры <span class="function"><a href="function.session-create-id.php" class="function">session_create_id()</a></span>.
      </span>
     </p></blockquote>
     <div class="warning"><strong class="warning">Внимание</strong>
     <p class="para">
      Если пользовательский обработчик сессии, зарегистрированный с помощью <span class="function"><a href="function.session-set-save-handler.php" class="function">session_set_save_handler()</a></span>,
      не реализует <span class="methodname"><a href="sessionupdatetimestamphandlerinterface.validateid.php" class="methodname">SessionUpdateTimestampHandlerInterface::validateId()</a></span>
      и не предоставляет callback-функцию <code class="parameter">validate_sid</code>, соответственно,
      режим строгого идентификатора сессии будет отключён, независимо от значения этой директивы.
      Особо обратите внимание, что <span class="classname"><a href="class.sessionhandler.php" class="classname">SessionHandler</a></span> <em>не</em> реализует <span class="methodname"><strong>SessionHandler::validateId()</strong></span>.
     </p>
    </div>
    </dd>
   

   
    <dt id="ini.session.use-cookies">
     <code class="parameter">session.use_cookies</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.use_cookies</code> определяет, будет ли модуль
      использовать cookies для хранения идентификатора сессии на стороне клиента.
      По умолчанию <code class="literal">1</code> (включено).
     </span>
    </dd>
   

   
    <dt id="ini.session.use-only-cookies">
     <code class="parameter">session.use_only_cookies</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.use_only_cookies</code> определяет, будет ли
      модуль использовать <strong>только</strong> cookies
      для хранения идентификатора сессии на стороне клиента.
      Включение этого параметра предотвращает атаки с передачей
      идентификаторов сессии в URL-адресах.
      Значение по умолчанию <code class="literal">1</code> (включено).
     </span>
    </dd>
   


   
    <dt id="ini.session.cookie-lifetime">
     <code class="parameter">session.cookie_lifetime</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.cookie_lifetime</code> указывает время жизни cookies,
      отправляемого в браузер клиента, в секундах. Значение 0 означает, что
      cookies будут валидны до закрытия браузера. По умолчанию равно <code class="literal">0</code>.
      Смотрите также <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span> и
      <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>.
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Отметка окончания времени устанавливается по отношению к серверному времени,
       которое не обязательно совпадает с временем в браузере клиента.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.cookie-path">
     <code class="parameter">session.cookie_path</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.cookie_path</code> определяет устанавливаемый
      путь в сессионной cookie. По умолчанию <code class="literal">/</code>. Смотрите также
      <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span> и
      <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.cookie-domain">
     <code class="parameter">session.cookie_domain</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.cookie_domain</code> определяет устанавливаемый
      домен в сессионной cookie. В соответствии со спецификацией нет смысла дополнительно
      указывать имя хоста, который сгенерировал cookies.
      Смотрите также <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span> и
      <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.cookie-secure">
     <code class="parameter">session.cookie_secure</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.cookie_secure</code> указывает, должны ли cookies
      передаваться только через защищённое соединение.
      Когда для этой настройки установлено значение <code class="literal">on</code>,
      сессии работают только с HTTPS-соединениями.
      Если значение <code class="literal">off</code>, то сессии работают и с HTTP-,
      и с HTTPS-соединениями.
      Значение по умолчанию <code class="literal">off</code>.
      Смотрите также описание функций
      <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span>
      и <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.cookie-httponly">
     <code class="parameter">session.cookie_httponly</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Отметка, согласно которой доступ к cookie с идентификатором сессии может быть получен только через HTTP-протокол.
      Это означает, что cookie не будет доступна через скриптовые языки,
      такие как JavaScript. Данная настройка позволяет эффективно защитить от
      XSS-атак (к сожалению, эта функция поддерживается не всеми браузерами).
     </span>
    </dd>
   

  
   <dt id="ini.session.cookie-samesite">
    <code class="parameter">session.cookie_samesite</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Позволяет серверам утверждать, что cookie не должен отправляться вместе
     с межсайтовыми запросами. Это утверждение позволяет браузерам пользователей снизить риск
     утечки информации из разных источников и обеспечивает определённую защиту от подделки
     кросс-доменных запросов. Обратите внимание, что это поддерживают не все браузеры.
     Пустое значение означает, что атрибут cookie сайта не будет установлен.
     <code class="literal">Lax</code> и <code class="literal">Strict</code> означают, что cookie не будет
     отправлен для кросс-доменных POST-запросов; <code class="literal">Lax</code> отправит cookie
     для междоменных GET-запросов, а <code class="literal">Strict</code> не будет этого делать.
    </span>
   </dd>
  

   
    <dt id="ini.session.cache-limiter">
     <code class="parameter">session.cache_limiter</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.cache_limiter</code> определяет режим кеширования, используемого
      для страниц сессий. Может принимать одно из следующих значений:
      <code class="literal">nocache</code>, <code class="literal">private</code>,
      <code class="literal">private_no_expire</code> или <code class="literal">public</code>.
      По умолчанию <code class="literal">nocache</code>. Подробнее о данных
      значениях смотрите в
      <span class="function"><a href="function.session-cache-limiter.php" class="function">session_cache_limiter()</a></span>.
     </span>
    </dd>
   


   
    <dt id="ini.session.cache-expire">
     <code class="parameter">session.cache_expire</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.cache_expire</code> указывает время жизни
      кешированных страниц сессий в минутах, это никак не влияет на ограничитель
      nocache. По умолчанию <code class="literal">180</code>. Смотрите также
      <span class="function"><a href="function.session-cache-expire.php" class="function">session_cache_expire()</a></span>.
     </span>
    </dd>
   

   
    <dt id="ini.session.use-trans-sid">
     <code class="parameter">session.use_trans_sid</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.use_trans_sid</code> указывает, используется ли
      прозрачная поддержка sid или нет. По умолчанию
      <code class="literal">0</code> (отключено).
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Управление сессией на основе URL имеет дополнительные риски
       безопасности по сравнению с управлением на основе cookies. В качестве
       примера можно упомянуть такие ситуации, когда пользователи
       могут отправить URL, содержащий идентификатор активной сессии, своим
       друзьям по электронной почте или сохранить ссылку с идентификатором
       в закладках и все время посещать сайт с одним и тем же идентификатором.
      </span>
      <span class="simpara">
       Начиная с PHP 7.1.0, полный путь URL, то есть https://php.net/, обрабатывается &quot;trans sid&quot;.
       Раньше PHP обрабатывал только относительный URL-адреса.
       Перезапись целевого хоста задаётся <a href="session.configuration.php#ini.session.trans-sid-hosts" class="link">session.trans_sid_hosts</a>.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.trans-sid-tags">
     <code class="parameter">session.trans_sid_tags</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.trans_sid_tags</code> задаёт перезаписываемые теги HTML
      для включения идентификатора сессии когда включена поддержка прозрачных &quot;sid&quot;.
      По умолчанию <code class="literal">a=href,area=href,frame=src,input=src,form=</code>
     </span>
     <span class="simpara">
      <code class="literal">form</code> — специальных тег. <code class="literal">&lt;input hidden=&quot;session_id&quot;
      name=&quot;session_name&quot;&gt;</code> добавляется в форму.
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       До PHP 7.1.0 для этого использовался <a href="outcontrol.configuration.php#ini.url-rewriter.tags" class="link">url_rewriter.tags</a>. С PHP 7.1.0,
       <code class="literal">fieldset</code>  больше не считается за специальный тег.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.trans-sid-hosts">
     <code class="parameter">session.trans_sid_hosts</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.trans_sid_hosts</code> задаёт, какие хосты будут перезаписаны
      для включения идентификатора сессии, когда включена поддержка прозрачных &quot;sid&quot;.
      По умолчанию <code class="literal">$_SERVER[&#039;HTTP_HOST&#039;]</code>.
      Несколько хостов можно указать через запятую. Не допускается вставлять пробелы
      между хостами. Так правильно: <code class="literal">php.net,wiki.php.net,bugs.php.net</code>.
     </span>
    </dd>
   

   
    <dt id="ini.session.sid-length">
     <code class="parameter">session.sid_length</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.sid_length</code> позволяет указать длину идентификатора сессии.
      Это значение должно быть в диапазоне 22-256.
     </span>
     <span class="simpara">
      По умолчанию 32. Если вам нужна совместимость, указывайте 32, 40 и т. д.
      Более длинные идентификаторы сложнее подобрать. Рекомендуется использовать длину
      не менее 32.
     </span>
     <div class="tip"><strong class="tip">Подсказка</strong>
     <p class="para">
      Заметки по совместимости: Используйте 32 для
      <code class="literal">session.hash_function</code>=0 (MD5) и
      <code class="literal">session.hash_bits_per_character</code>=4,
      <code class="literal">session.hash_function</code>=1 (SHA1) и
      <code class="literal">session.hash_bits_per_character</code>=6. 26 для
      <code class="literal">session.hash_function</code>=0 (MD5) и
      <code class="literal">session.hash_bits_per_character</code>=5. 22 для
      <code class="literal">session.hash_function</code>=0 (MD5) и
      <code class="literal">session.hash_bits_per_character</code>=6.
      Вы должны сконфигурировать INI-настройки таким образом, чтобы идентификатор
      сессии состоял как минимум из 128 бит. Не забудьте задать соответствующие
      значения для <code class="literal">session.sid_bits_per_character</code>, иначе ваши
      идентификаторы будут слабыми.
     </p>
     </div>
    <blockquote class="note"><p><strong class="note">Замечание</strong>: 
     <span class="simpara">
      Эта настройка появилась в PHP 7.1.0.
     </span>
    </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.sid-bits-per-character">
     <code class="parameter">session.sid_bits_per_character</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.sid_bits_per_character</code> позволяет задать количество бит в
      одном символе идентификатора сессии. Доступные значения
      &#039;4&#039; (0-9, a-f), &#039;5&#039; (0-9, a-v), и &#039;6&#039; (0-9, a-z, A-Z, &quot;-&quot;, &quot;,&quot;).
     </span>
     <span class="simpara">
      По умолчанию 4. Чем больше бит, тем сильнее идентификатор сессии.
      В большинстве окружений рекомендуется 5.
     </span>
     <p class="para">
     </p>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Эта настройка появилась в PHP 7.1.0.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.hash-function">
     <code class="parameter">session.hash_function</code>
     <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.hash_function</code> позволяет указать алгоритм
      хеширования, используемый для генерации идентификатора сессии.
      &#039;0&#039; означает MD5 (128 bits), а &#039;1&#039; означает SHA-1 (160 bits).
     </span>
     <p class="para">
      Возможно указать любой из алгоритмов,
      предусмотренных <a href="ref.hash.php" class="link">модулем hash</a> (если
      он доступен), например, <code class="literal">sha512</code> или
      <code class="literal">whirlpool</code>. Полный список алгоритмов может быть
      получен с помощью функции <span class="function"><a href="function.hash-algos.php" class="function">hash_algos()</a></span>.
     </p>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Удалена в PHP 7.1.0.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.hash-bits-per-character">
     <code class="parameter">session.hash_bits_per_character</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      <code class="literal">session.hash_bits_per_character</code> позволяет указать
      сколько бит хранится в каждом символе при преобразовании бинарного
      представления во что-либо более удобочитаемое. Возможные значения: &#039;4&#039; (0-9, a-f),
      &#039;5&#039; (0-9, a-v) и &#039;6&#039; (0-9, a-z, A-Z, &quot;-&quot;, &quot;,&quot;).
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Удалена в PHP 7.1.0.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.upload-progress.enabled">
     <code class="parameter">session.upload_progress.enabled</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Включает отслеживание прогресса загрузки файлов
      и заполнение соответствующей переменной в массиве <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>.
      По умолчанию 1, включено.
     </span>
    </dd>
   

   
    <dt id="ini.session.upload-progress.cleanup">
     <code class="parameter">session.upload_progress.cleanup</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Чистка информации о прогрессе загрузки файлов по завершении
      обработки POST-данных (то есть когда загрузка завершена).
      По умолчанию 1, включено.
     </span>
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       Строго рекомендуется не отключать эту опцию.
      </span>
     </p></blockquote>
    </dd>
   

   
    <dt id="ini.session.upload-progress.prefix">
     <code class="parameter">session.upload_progress.prefix</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Префикс, используемый для ключа прогресса загрузки в массиве <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>.
      Для обеспечения уникальности данный ключ будет присоединён к значению
      <code class="literal">$_POST[ini_get(&quot;session.upload_progress.name&quot;)]</code>.
     </span>
     <span class="simpara">
      По умолчанию равен &quot;upload_progress_&quot;.
     </span>
    </dd>
   

   
    <dt id="ini.session.upload-progress.name">
     <code class="parameter">session.upload_progress.name</code>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Имя ключа, используемого в массиве <var class="varname"><a href="reserved.variables.session.php" class="classname">$_SESSION</a></var>, для хранения
      информации о прогрессе. Смотрите также директиву
      <a href="session.configuration.php#ini.session.upload-progress.prefix" class="link">session.upload_progress.prefix</a>.
     </span>
     <span class="simpara">
      Если элемент <code class="literal">$_POST[ini_get(&quot;session.upload_progress.name&quot;)]</code>
      не передан, прогресс загрузки данного файла не будет отслеживаться.
     </span>
     <span class="simpara">
      По умолчанию &quot;PHP_SESSION_UPLOAD_PROGRESS&quot;.
     </span>
    </dd>
   

   
    <dt id="ini.session.upload-progress.freq">
     <code class="parameter">session.upload_progress.freq</code>
     <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Определяет частоту обновления информации о прогрессе загрузки.
      Можно указать значение в байтах (то есть &quot;обновлять информацию
      о прогрессе каждые 100 байт&quot;) или в процентах (то есть &quot;обновлять
      информацию о прогрессе после получения 1% данных от размера файла&quot;).
     </span>
     <span class="simpara">
      По умолчанию &quot;1%&quot;.
     </span>
    </dd>
   

   
    <dt id="ini.session.upload-progress.min-freq">
     <code class="parameter">session.upload_progress.min_freq</code>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Минимальная задержка между обновлениями, в секундах.
      По умолчанию &quot;1&quot; (одна секунда).
     </span>
    </dd>
   

   
    <dt id="ini.session.lazy-write">
     <code class="parameter">session.lazy_write</code>
     <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
    </dt>
    <dd>
     <span class="simpara">
      Если <code class="literal">session.lazy_write</code> установлен в 1, то данные сессии
      будут перезаписываться только при их изменении. По умолчанию 1, включено.
     </span>
    </dd>
   

  </dl>
 </p>

 <p class="para">
  Прогресс загрузки файлов не будет обрабатываться, если не включена
  опция session.upload_progress.enabled и не установлена переменная
  $_POST[ini_get(&quot;session.upload_progress.name&quot;)].
  Подробнее об этом смотрите в главе
  &quot;<a href="session.upload-progress.php" class="link">Отслеживание прогресса загрузки файлов с помощью сессий</a>&quot;.
 </p>

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