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

contributors($setup);

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

    </thead>

    <tbody class="tbody">
     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.enable" class="link">opcache.enable</a></td>
      <td>1</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="opcache.configuration.php#ini.opcache.enable-cli" class="link">opcache.enable_cli</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Между PHP 7.1.2 и 7.1.6 включительно значение по умолчанию было равно <code class="literal">1</code></td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.memory-consumption" class="link">opcache.memory_consumption</a></td>
      <td>128</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.interned-strings-buffer" class="link">opcache.interned_strings_buffer</a></td>
      <td>8</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.max-accelerated-files" class="link">opcache.max_accelerated_files</a></td>
      <td>10000</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.max-wasted-percentage" class="link">opcache.max_wasted_percentage</a></td>
      <td>5</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.use-cwd" class="link">opcache.use_cwd</a></td>
      <td>1</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.validate-timestamps" class="link">opcache.validate_timestamps</a></td>
      <td>1</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="opcache.configuration.php#ini.opcache.revalidate-freq" class="link">opcache.revalidate_freq</a></td>
      <td>2</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="opcache.configuration.php#ini.opcache.revalidate-path" class="link">opcache.revalidate_path</a></td>
      <td>0</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="opcache.configuration.php#ini.opcache.save-comments" class="link">opcache.save_comments</a></td>
      <td>1</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.fast-shutdown" class="link">opcache.fast_shutdown</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.enable-file-override" class="link">opcache.enable_file_override</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.optimization-level" class="link">opcache.optimization_level</a></td>
      <td>0x7FFEBFFF</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>До PHP 7.3.0 значение равнялось <code class="literal">0x7FFFBFFF</code></td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.inherited-hack" class="link">opcache.inherited_hack</a></td>
      <td>1</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Удалили в PHP 7.3.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.dups-fix" class="link">opcache.dups_fix</a></td>
      <td>0</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="opcache.configuration.php#ini.opcache.blacklist-filename" class="link">opcache.blacklist_filename</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.max-file-size" class="link">opcache.max_file_size</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.consistency-checks" class="link">opcache.consistency_checks</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-all">INI_ALL</a></code></strong></td>
      <td>
       Опцию отключили с PHP 8.1.18 и 8.2.5 и удалили в PHP 8.3.0
      </td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.force-restart-timeout" class="link">opcache.force_restart_timeout</a></td>
      <td>180</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.error-log" class="link">opcache.error_log</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.log-verbosity-level" class="link">opcache.log_verbosity_level</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 class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.record-warnings" class="link">opcache.record_warnings</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.preferred-memory-model" class="link">opcache.preferred_memory_model</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.protect-memory" class="link">opcache.protect_memory</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.mmap-base" class="link">opcache.mmap_base</a></td>
      <td><strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна только на ОС Windows</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.restrict-api" class="link">opcache.restrict_api</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.file_update_protection" class="link">opcache.file_update_protection</a></td>
      <td>2</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="opcache.configuration.php#ini.opcache.huge_code_pages" class="link">opcache.huge_code_pages</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.lockfile_path" class="link">opcache.lockfile_path</a></td>
      <td>&quot;/tmp&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.opt_debug_level" class="link">opcache.opt_debug_level</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 7.1.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.file-cache" class="link">opcache.file_cache</a></td>
      <td><strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.file-cache-only" class="link">opcache.file_cache_only</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.file-cache-consistency-checks" class="link">opcache.file_cache_consistency_checks</a></td>
      <td>1</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.file-cache-fallback" class="link">opcache.file_cache_fallback</a></td>
      <td>1</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.validate-permission" class="link">opcache.validate_permission</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 7.0.14</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.validate-root" class="link">opcache.validate_root</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 7.0.14</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.preload" class="link">opcache.preload</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 7.4.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.preload-user" class="link">opcache.preload_user</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 7.4.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.cache-id" class="link">opcache.cache_id</a></td>
      <td>&quot;&quot;</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 7.4.0 только на ОС Windows</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit" class="link">opcache.jit</a></td>
      <td>&quot;tracing&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="opcache.configuration.php#ini.opcache.jit-buffer-size" class="link">opcache.jit_buffer_size</a></td>
      <td>0</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit-debug" class="link">opcache.jit_debug</a></td>
      <td>0</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="opcache.configuration.php#ini.opcache.jit-bisect-limit" class="link">opcache.jit_bisect_limit</a></td>
      <td>0</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="opcache.configuration.php#ini.opcache.jit-prof-threshold" class="link">opcache.jit_prof_threshold</a></td>
      <td>0.005</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="opcache.configuration.php#ini.opcache.jit-max-root-traces" class="link">opcache.jit_max_root_traces</a></td>
      <td>1024</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit-max-side-traces" class="link">opcache.jit_max_side_traces</a></td>
      <td>128</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit-max-exit-counters" class="link">opcache.jit_max_exit_counters</a></td>
      <td>8192</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit-hot-loop" class="link">opcache.jit_hot_loop</a></td>
      <td>64</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit-hot-func" class="link">opcache.jit_hot_func</a></td>
      <td>127</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit-hot-return" class="link">opcache.jit_hot_return</a></td>
      <td>8</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit-hot-side-exit" class="link">opcache.jit_hot_side_exit</a></td>
      <td>8</td>
      <td><strong><code><a href="info.constants.php#constant.ini-system">INI_SYSTEM</a></code></strong></td>
      <td>Опция доступна с PHP 8.0.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit-blacklist-root-trace" class="link">opcache.jit_blacklist_root_trace</a></td>
      <td>16</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="opcache.configuration.php#ini.opcache.jit-blacklist-side-trace" class="link">opcache.jit_blacklist_side_trace</a></td>
      <td>8</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="opcache.configuration.php#ini.opcache.jit-max-loop-unrolls" class="link">opcache.jit_max_loop_unrolls</a></td>
      <td>8</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="opcache.configuration.php#ini.opcache.jit-max-recursive-calls" class="link">opcache.jit_max_recursive_calls</a></td>
      <td>2</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="opcache.configuration.php#ini.opcache.jit-max-recursive-return" class="link">opcache.jit_max_recursive_returns</a></td>
      <td>2</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="opcache.configuration.php#ini.opcache.jit-max-polymorphic-calls" class="link">opcache.jit_max_polymorphic_calls</a></td>
      <td>2</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>

    </tbody>
   
  </table>

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

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

 <dl>
  
   <dt id="ini.opcache.enable">
    <code class="parameter">opcache.enable</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Включает кеш опкодов. Код не оптимизируется и не кешируется,
     если опцию отключили. Опцию <code class="literal">opcache.enable</code> нельзя включить
     во время выполнения функцией <span class="function"><a href="function.ini-set.php" class="function">ini_set()</a></span>, но можно отключить.
     Попытка включить опцию в скрипте выдаст предупреждение.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.enable-cli">
    <code class="parameter">opcache.enable_cli</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Включает кеш опкодов для CLI-версии PHP.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.memory-consumption">
    <code class="parameter">opcache.memory_consumption</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Размер разделяемой памяти в мегабайтах для OPcache.
     Минимально допустимое значение — <code class="literal">8</code>,
     которое кеш опкодов займёт, если установили значение меньше.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.interned-strings-buffer">
    <code class="parameter">opcache.interned_strings_buffer</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Количество памяти в мегабайтах для хранения интернированных строк.
     Максимальное значение — 32 767 на 64-разрядных архитектурах
     и 4095 на 32-разрядных архитектурах.
    </span>
    <blockquote class="note"><p><strong class="note">Замечание</strong>: 
     <span class="simpara">
      До PHP 8.4.0 максимальное значение составляло
      4095 мегабайт на всех архитектурах.
     </span>
    </p></blockquote>
   </dd>
  
  
   <dt id="ini.opcache.max-accelerated-files">
    <code class="parameter">opcache.max_accelerated_files</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество ключей (и, соответственно, скриптов) в хеш-таблице
     OPcache. Значение, которое кеш опкодов будет использовать в итоге, будет первым числом из набора
     <code class="literal">{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 }</code>,
     которое больше или равно значению, которое установили для этого параметра.
     Минимальное значение составляет 200, а максимальное — 1 000 000.
     Значения за пределами этого диапазона ограничиваются допустимым диапазоном.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.max-wasted-percentage">
    <code class="parameter">opcache.max_wasted_percentage</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальный процент неиспользуемой памяти, при достижении которого модуль
     запланирует перезапуск, если свободной памяти недостаточно.
     Максимально допустимое значение: <code class="literal">50</code>,
     которое кеш опкодов займёт, если установили значение больше.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.use-cwd">
    <code class="parameter">opcache.use_cwd</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     При включении опции OPcache добавляет текущую рабочую директорию к ключу
     скрипта, чем устраняет возможность коллизий для файлов с одинаковым
     основным именем. Отключение этой директивы повышает производительность, но иногда
     приводит к сбоям приложений.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.validate-timestamps">
    <code class="parameter">opcache.validate_timestamps</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <p class="para">
     При включении опции OPcache будет проверять актуальность закешированных скриптов каждые
     <a href="opcache.configuration.php#ini.opcache.revalidate-freq" class="link">opcache.revalidate_freq</a>
     секунд. При отключении директивы требуется сбросить OPcache вручную функциями
     <span class="function"><a href="function.opcache-reset.php" class="function">opcache_reset()</a></span>
     и <span class="function"><a href="function.opcache-invalidate.php" class="function">opcache_invalidate()</a></span> или перезапустить веб-сервер, чтобы
     изменения в файловой системе вступили в силу.
     <blockquote class="note"><p><strong class="note">Замечание</strong>: 
      <span class="simpara">
       OPcache по-прежнему может проверять метку времени файла во время компиляции, если для
       опций <a href="opcache.configuration.php#ini.opcache.file_update_protection" class="link">opcache.file_update_protection</a>
       или <a href="opcache.configuration.php#ini.opcache.max-file-size" class="link">opcache.max_file_size</a> установили ненулевые значения.
      </span>
     </p></blockquote>
    </p>
   </dd>
  
  
   <dt id="ini.opcache.revalidate-freq">
    <code class="parameter">opcache.revalidate_freq</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Как часто в секундах проверять обновления меток времени скрипта.
     При значении <code class="literal">0</code> OPcache будет проверять обновления
     при каждом запросе.
    </span>
    <span class="simpara">
     Модуль игнорирует эту директиву конфигурации, если опцию
     <a href="opcache.configuration.php#ini.opcache.validate-timestamps" class="link">opcache.validate_timestamps</a> отключили.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.revalidate-path">
    <code class="parameter">opcache.revalidate_path</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     При отключении опции модуль переиспользует файлы кеша,
     пути которых содержат путь из списка <a href="ini.core.php#ini.include-path" class="link">include_path</a>.
     Поэтому модуль не будет искать файл с таким же именем по другим путям
     списка include_path.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.save-comments">
    <code class="parameter">opcache.save_comments</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     При отключении опции модуль отбрасывает комментарии для документации из кеша опкодов,
     чтобы уменьшить размер оптимизированного кода. Отключение этой директивы конфигурации может спровоцировать
     сбой в работе приложений и фреймворков, которые полагаются на аннотации в комментариях,
     включая Doctrine, Zend Framework 2 и PHPUnit.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.fast-shutdown">
    <code class="parameter">opcache.fast_shutdown</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     При включении опции используется последовательность быстрого завершения работы,
     которая не освобождает каждый выделенный блок памяти, а полагается
     на менеджер памяти движка Zend Engine для массового освобождения всего набора переменных запроса.
    </span>
    <span class="simpara">
     Эту директиву удалили в PHP 7.2.0. Вариант последовательности
     быстрого завершения работы интегрировали в PHP и кеш опкодов по возможности
     будет использовать вариант автоматически.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.enable-file-override">
    <code class="parameter">opcache.enable_file_override</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     При включении опции и вызове функций <span class="function"><a href="function.file-exists.php" class="function">file_exists()</a></span>,
     <span class="function"><a href="function.is-file.php" class="function">is_file()</a></span> и <span class="function"><a href="function.is-readable.php" class="function">is_readable()</a></span>
     модуль будет проверять, содержит ли уже кеш опкодов файл.
     Опция может повысить производительность приложений, которые проверяют наличие
     и доступность для чтения PHP-скриптов, но рискует вернуть устаревшие
     данные, если опцию
     <a href="opcache.configuration.php#ini.opcache.validate-timestamps" class="link">opcache.validate_timestamps</a> отключили.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.optimization-level">
    <code class="parameter">opcache.optimization_level</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Битовая маска, которая контролирует, какие шаги оптимизации выполняются.
     Значением по умолчанию является <code class="literal">0x7FFEBFFF</code>, которое включает все безопасные оптимизации.
     Отключение оптимизаций или включение небезопасных оптимизаций
     в основном полезно для отладки/разработки оптимизатора.
    </span>
    <span class="simpara">
     Каждый бит в битовой маске включает определённый этап оптимизации:
    </span>
    <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>0</td>
        <td>PASS_1</td>
        <td>Простая оптимизация Peephole</td>
        <td>On</td>
       </tr>

       <tr>
        <td>1</td>
        <td>PASS_2</td>
        <td>Не используется (объединён с PASS_1)</td>
        <td>On</td>
       </tr>

       <tr>
        <td>2</td>
        <td>PASS_3</td>
        <td>Простая оптимизация JuMP</td>
        <td>On</td>
       </tr>

       <tr>
        <td>3</td>
        <td>PASS_4</td>
        <td>Оптимизация Call</td>
        <td>On</td>
       </tr>

       <tr>
        <td>4</td>
        <td>PASS_5</td>
        <td>Оптимизация на основе графа управления потоком</td>
        <td>On</td>
       </tr>

       <tr>
        <td>5</td>
        <td>PASS_6</td>
        <td>Оптимизация на основе анализа потока данных</td>
        <td>On</td>
       </tr>

       <tr>
        <td>6</td>
        <td>PASS_7</td>
        <td>Следует ли использовать график вызовов для оптимизации на основе SSA</td>
        <td>On</td>
       </tr>

       <tr>
        <td>7</td>
        <td>PASS_8</td>
        <td>Редкое распространение условных констант</td>
        <td>On</td>
       </tr>

       <tr>
        <td>8</td>
        <td>PASS_9</td>
        <td>Оптимизация временных переменных</td>
        <td>On</td>
       </tr>

       <tr>
        <td>9</td>
        <td>PASS_10</td>
        <td>Удаление кодов операций NOP</td>
        <td>On</td>
       </tr>

       <tr>
        <td>10</td>
        <td>PASS_11</td>
        <td>Сжатие литералов</td>
        <td>On</td>
       </tr>

       <tr>
        <td>11</td>
        <td>PASS_12</td>
        <td>Предварительный расчет размера стека вызовов</td>
        <td>On</td>
       </tr>

       <tr>
        <td>12</td>
        <td>PASS_13</td>
        <td>Удаление неиспользуемых переменных</td>
        <td>On</td>
       </tr>

       <tr>
        <td>13</td>
        <td>PASS_14</td>
        <td>Удаление мёртвого кода</td>
        <td>On</td>
       </tr>

       <tr>
        <td>14</td>
        <td>PASS_15</td>
        <td>Сбор и замена объявлений констант (небезопасно)</td>
        <td><em>Off</em></td>
       </tr>

       <tr>
        <td>15</td>
        <td>PASS_16</td>
        <td>Встраивание тривиальных функций (часть оптимизации вызовов)</td>
        <td>On</td>
       </tr>

       <tr>
        <td>16</td>
        <td>(Flag)</td>
        <td>Игнорировать возможность перегрузки оператора (небезопасно)</td>
        <td><em>Off</em></td>
       </tr>

      </tbody>
     
    </table>

    <blockquote class="note"><p><strong class="note">Замечание</strong>: 
     <strong>Безопасные и небезопасные оптимизации</strong><br />
     <span class="simpara">
      <em>Безопасные оптимизации</em> (включены по умолчанию) сохраняют точное
      поведение кода PHP, одновременно повышая производительность. Включают удаление мёртвого кода,
      сворачивание констант и оптимизацию переходов.
     </span>
     <span class="simpara">
      <em>Небезопасные оптимизации</em> (по умолчанию отключено) может изменить поведение
      в пограничных случаях:
     </span>
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        <em>Бит 14</em>: Сбор констант. Константы подставляются во время компиляции,
        игнорируя порядок объявления во время выполнения:
       </span>
       <div class="informalexample">
        <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">getA</span><span style="color: #007700">();         </span><span style="color: #FF8000">// Вывод: "hello" вместо того, чтобы вызывать ошибку<br /></span><span style="color: #007700">const </span><span style="color: #0000BB">A </span><span style="color: #007700">= </span><span style="color: #DD0000">"hello"</span><span style="color: #007700">;<br />function </span><span style="color: #0000BB">getA</span><span style="color: #007700">() { return </span><span style="color: #0000BB">A</span><span style="color: #007700">; }</span></span></code></div>
        </div>

       </div>
      </li>
      <li class="listitem">
       <span class="simpara">
        <em>Бит 16</em>: Игнорирование перегрузки операторов.
        Небезопасно при использовании классов с <code class="literal">do_operation</code>
        (например, <a href="book.gmp.php" class="link">GMP</a>, <a href="book.bc.php" class="link">BCMath</a>) в арифметических операциях.
        При объявлении типов оптимизатор может безопасно применять те же оптимизации.
       </span>
      </li>
     </ul>
    </p></blockquote>
   </dd>
  
  
   <dt id="ini.opcache.inherited-hack">
    <code class="parameter">opcache.inherited_hack</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Эта директива конфигурации игнорируется.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.dups-fix">
    <code class="parameter">opcache.dups_fix</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Этот хак требуется только для обхода ошибок «Невозможно повторно объявить класс» (Cannot redeclare class).
    </span>
   </dd>
  
  
   <dt id="ini.opcache.blacklist-filename">
    <code class="parameter">opcache.blacklist_filename</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Расположение файла чёрного списка OPcache. Файл чёрного списка — текстовый файл,
     который содержит имена файлов, которые не нужно ускорять, по одной записи на строку.
     Допускаются подстановочные знаки, также можно указывать префиксы. Строки, которые
     начинаются с точки с запятой, игнорируются как комментарии.
    </span>
    <span class="simpara">
     Пример простого чёрного списка:
    </span>
    <div class="informalexample">
     <div class="example-contents">
<div class="cdata"><pre>
; Соответствует конкретному файлу.
/var/www/broken.php
; Префикс, который соответствует каждому файлу, который начинается с «x».
/var/www/x
; Соответствует подстановочному знаку.
/var/www/*-broken.php
</pre></div>
     </div>

    </div>
   </dd>
  
  
   <dt id="ini.opcache.max-file-size">
    <code class="parameter">opcache.max_file_size</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальный размер файла для кеширования в байтах.
     Модуль будет кешировать все файлы, если значение равно <code class="literal">0</code>.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.consistency-checks">
    <code class="parameter">opcache.consistency_checks</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Если значение ненулевое, OPcache будет сверять контрольную сумму кеша каждые N запросов,
     где N — значение этой директивы конфигурации. Рекомендуется включать директиву только
     при отладке, поскольку опция снижает производительность.
    </span>
    <blockquote class="note"><p><strong class="note">Замечание</strong>: 
     <span class="simpara">
      Опцию отключили с PHP 8.1.18 и 8.2.5 и удалили в PHP 8.3.0.
     </span>
    </p></blockquote>
   </dd>
  
  
   <dt id="ini.opcache.force-restart-timeout">
    <code class="parameter">opcache.force_restart_timeout</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Время ожидания начала запланированного перезапуска в секундах при неактивном кеше.
     Если время ожидания истекло,
     OPcache решает, что что-то не так, и чтобы разрешить перезапуск, завершит процессы,
     которые удерживают блокировки в кеше.
    </span>
    <span class="simpara">
     Если для параметра
     <a href="opcache.configuration.php#ini.opcache.log-verbosity-level" class="link">opcache.log_verbosity_level</a>
     установили значение 2 или больше, то когда возникнет ситуации с превышением времени ожидания,
     модуль запишет в лог ошибок предупреждение.
    </span>
    <span class="simpara">
     Директива не поддерживается в ОС Windows.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.error-log">
    <code class="parameter">opcache.error_log</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Путь к логу ошибок OPcache. Пустая строка обрабатывается как <code class="literal">stderr</code>,
     и приведёт к отправке логов в стандартный поток ошибок (обычно это лог
     ошибок веб-сервера).
    </span>
   </dd>
  
  
   <dt id="ini.opcache.log-verbosity-level">
    <code class="parameter">opcache.log_verbosity_level</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Уровень детализации лога ошибок. По умолчанию регистрируются только
     фатальные ошибки (уровень 0) и ошибки (уровень 1).
     Другие доступные уровни: предупреждения (уровень 2), информационные
     сообщения (уровень 3) и сообщения отладки (уровень 4).
    </span>
   </dd>
  
  
   <dt id="ini.opcache.record-warnings">
    <code class="parameter">opcache.record_warnings</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     При включении опции OPcache будет записывать предупреждения, которые возникают во время компиляции,
     и повторять их при следующем включении файла, даже если файл обслуживается из кеша.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.preferred-memory-model">
    <code class="parameter">opcache.preferred_memory_model</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Предпочитаемая модель памяти для OPcache. Если оставить значение пустым,
     OPcache сам выберет наиболее подходящую модель, которая
     будет вести себя корректно практически в любых случаях.
    </span>
    <span class="simpara">
     Возможные значения включают <code class="literal">mmap</code>, <code class="literal">shm</code>,
     <code class="literal">posix</code> и <code class="literal">win32</code>.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.protect-memory">
    <code class="parameter">opcache.protect_memory</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Защищает разделяемую память от неожиданной записи во время запуска скриптов.
     Полезно только для внутренней отладки.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.mmap-base">
    <code class="parameter">opcache.mmap_base</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Базовое значение для сегмента разделяемой памяти в ОС Windows. Каждый
     PHP-процесс должен отображать разделяемую память в одинаковое адресное пространство.
     Эта директива помогает исправить ошибки «Не удается повторно прикрепиться к базовому адресу»
     (Unable to reattach to base address).
    </span>
   </dd>
  
  
   <dt id="ini.opcache.restrict-api">
    <code class="parameter">opcache.restrict_api</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Разрешает вызывать API-функции модуля OPcache только из PHP-скриптов, чей путь начинается
     с заданной строки. Значение по умолчанию равно <code class="literal">&quot;&quot;</code> и означает отсутствие ограничений.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.file_update_protection">
    <code class="parameter">opcache.file_update_protection</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Исключает кеширование файлов, с момента изменения которых прошло меньше секунд, чем указали.
     Это защищает от кеширования неполностью обновлённых файлов. Если все обновления файлов атомарны, можно повысить
     производительность, задав для этого параметра значение <code class="literal">0</code>.
     Это разрешит закешировать файлы немедленно.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.huge_code_pages">
    <code class="parameter">opcache.huge_code_pages</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Включает или отключает копирование PHP-кода (текстового сегмента) в HUGE PAGES.
     Опция может повысить производительность, но требует соответствующих системных
     настроек.
     Опция доступна в Linux начиная с PHP 7.0.0 и во FreeBSD начиная с PHP 7.4.0.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.lockfile_path">
    <code class="parameter">opcache.lockfile_path</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Абсолютный путь к хранилищу общих файлов блокировок (только для *nix-систем).
    </span>
   </dd>
  
  
   <dt id="ini.opcache.opt_debug_level">
    <code class="parameter">opcache.opt_debug_level</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Создаёт сброс опкодов для отладки отдельных этапов оптимизации.
     Значение 0x10000 будет выводить опкоды в том виде, в каком их создал компилятор,
     до оптимизации, тогда как значение
     0x20000 будет выводить оптимизированные опкоды.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.file-cache">
    <code class="parameter">opcache.file_cache</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Включает и устанавливает каталог кеша второго уровня. Опция должна
     повысить производительность, когда SHM-память заполнилась,
     при перезапуске сервера или сбросе разделяемой SHM-памяти. Значение по умолчанию <code class="literal">&quot;&quot;</code>
     отключает кеширование на основе файлов.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.file-cache-only">
    <code class="parameter">opcache.file_cache_only</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Включает или выключает кеширование опкодов в разделяемой памяти.
    </span>
    <blockquote class="note"><p><strong class="note">Замечание</strong>: 
     <span class="simpara">
      До PHP 8.1.0 отключение этой директивы с уже заполненным
      файловым кешем требовало ручной очистки файлового кеша.
     </span>
    </p></blockquote>
   </dd>
  
  
   <dt id="ini.opcache.file-cache-consistency-checks">
    <code class="parameter">opcache.file_cache_consistency_checks</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Включает или выключает проверку контрольной суммы при загрузке скрипта
     из файлового кеша.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.file-cache-fallback">
    <code class="parameter">opcache.file_cache_fallback</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Подразумевает <code class="code">opcache.file_cache_only=1</code> для конкретного процесса, которому
     не удалось повторно подключиться к разделяемой памяти
     (только для ОС Windows). Требуется явное включение файлового кеша.
    </span>
    <div class="caution"><strong class="caution">Предостережение</strong>
     <p class="simpara">
      Отключение этой опции конфигурации может помешать запуску процессов, и поэтому не рекомендуется.
     </p>
    </div>
   </dd>
  
  
   <dt id="ini.opcache.validate-permission">
    <code class="parameter">opcache.validate_permission</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Проверяет права доступа к кешированному файлу для текущего пользователя.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.validate-root">
    <code class="parameter">opcache.validate_root</code>
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Предотвращает коллизии имён в chroot-окружении. Опцию необходимо включать
     для каждого chroot-окружения, чтобы предотвратить доступ
     к файлам за пределами chroot.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.preload">
    <code class="parameter">opcache.preload</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Задаёт PHP-скрипт, который модуль скомпилирует и выполнит при старте сервера,
     а также сможет предзагрузить другие файлы, либо через конструкцию <span class="function"><a href="function.include.php" class="function">include</a></span>,
     либо через функцию <span class="function"><a href="function.opcache-compile-file.php" class="function">opcache_compile_file()</a></span>. Каждая сущность (например,
     функции и классы), которую определили в этих файлах, будет автоматически доступна для запросов
     до момента выключения сервера.
    </span>
    <blockquote class="note"><p><strong class="note">Замечание</strong>: 
     <span class="simpara">
      Предварительная загрузка не поддерживается ОС Windows.
     </span>
    </p></blockquote>
   </dd>
  
  
   <dt id="ini.opcache.preload-user">
    <code class="parameter">opcache.preload_user</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Позволяет запускать предварительную загрузку от имени заданного пользователя системы.
     Опция полезна для серверов, которые запускаются от имени root-пользователя перед переключением
     на непривилегированного пользователя системы.
     По умолчанию предварительная загрузка от имени root запрещена по соображениям безопасности,
     если только этой директиве явно не установили значение <code class="literal">root</code>.
     Начиная с PHP 8.3.0, эту директиву не нужно устанавливать, чтобы разрешить предварительную загрузку
     при запуске от имени root при использовании <abbr title="Command Line Interpreter/Interface">CLI</abbr> <abbr title="Server Application Programming Interface">SAPI</abbr> или <a href="book.phpdbg.php" class="link">phpdbg SAPI</a>.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.cache-id">
    <code class="parameter">opcache.cache_id</code>
    <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
   </dt>
   <dd>
    <p class="para">
     В системах Windows процессы, которые запускают один и тот же <abbr title="Server Application Programming Interface">SAPI</abbr>-интерфейс <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>
     под одной и той же учётной записью пользователя с тем же идентификатором кеша, делят между собой один экземпляр OPcache.
     Значение этой опции разрешается задавать произвольно.
    </p>
    <div class="tip"><strong class="tip">Подсказка</strong>
     <p class="simpara">
      На IIS-серверах пулы приложений поддерживают способность работать с отдельными экземплярами OPcache.
      Чтобы разделить кеши, переменную окружения <var class="envar">APP_POOL_ID</var> указывают как идентификатор кеша
      <code class="parameter">opcache.cache_id</code>.
     </p>
    </div>
   </dd>
  
  
   <dt id="ini.opcache.jit">
    <code class="parameter">opcache.jit</code>
    <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.integer.php" class="type int">int</a></span></span>
   </dt>
   <dd>
    <span class="simpara">
     В обычном режиме параметр принимает одно из четырёх строковых значений:
    </span>
    <ul class="simplelist">
     <li><code class="literal">disable</code>: Деактивирован, нельзя включить во время выполнения.</li>
     <li><code class="literal">off</code>: Выключен, но разрешается включить во время выполнения.</li>
     <li>
      <code class="literal">tracing</code>/<code class="literal">on</code>: Включить JIT с компиляцией трассировок.
      Включён по умолчанию и рекомендуется для большей части пользователей.
     </li>
     <li><code class="literal">function</code>: Включить JIT с компиляцией функций.</li>
    </ul>
    <p class="para">
     В продвинутом режиме параметр принимает 4-значное целое число <code class="literal">CRTO</code>, в котором цифры означают:
     <dl>
      
       <dt><code class="literal">C</code> (флаги оптимизации для процессора)</dt>
       <dd>
        <ul class="simplelist">
         <li><code class="literal">0</code>: Отключить оптимизацию для ЦП.</li>
         <li><code class="literal">1</code>: Включить набор инструкций AVX, если поддерживается ЦП.</li>
        </ul>
       </dd>
      
      
       <dt><code class="literal">R</code> (распределение регистров)</dt>
       <dd>
        <ul class="simplelist">
         <li><code class="literal">0</code>: Не распределять регистры.</li>
         <li><code class="literal">1</code>: Выделять локальный блочный регистр.</li>
         <li><code class="literal">2</code>: Выделять глобальный регистр.</li>
        </ul>
       </dd>
      
      
       <dt><code class="literal">T</code> (триггер)</dt>
       <dd>
        <ul class="simplelist">
         <li><code class="literal">0</code>: Компилировать каждую функцию при загрузке скрипта.</li>
         <li><code class="literal">1</code>: Компилировать функций при первом выполнении.</li>
         <li>
          <code class="literal">2</code>: Профилировать функции при первом запросе и компилировать самые горячие функции.
         </li>
         <li><code class="literal">3</code>: Профилировать на лету и компилировать горячие функции.</li>
         <li><code class="literal">4</code>: Не используется.</li>
         <li>
          <code class="literal">5</code>: Включить JIT с компиляцией трассировок.
          Профилировать на лету и компилировать трассировки горячих сегментов кода.
         </li>
        </ul>
       </dd>
      
      
       <dt><code class="literal">O</code> (уровень оптимизации)</dt>
       <dd>
        <ul class="simplelist">
         <li><code class="literal">0</code>: Без JIT-компилятора.</li>
         <li><code class="literal">1</code>: Минимальный уровень JIT-компиляции (вызывать стандартные обработчики виртуальной машины).</li>
         <li><code class="literal">2</code>: Вызывать встроенные обработчики виртуальной машины.</li>
         <li><code class="literal">3</code>: Разрешить компилятору делать выводы о типах значений.</li>
         <li><code class="literal">4</code>: Использовать граф вызовов.</li>
         <li><code class="literal">5</code>: Оптимизировать весь скрипт.</li>
        </ul>
       </dd>
      
     </dl>
     Режим <code class="literal">tracing</code> соответствует <code class="code">CRTO = 1254</code>,
     Режим <code class="literal">function</code> соответствует <code class="code">CRTO = 1205</code>.
    </p>
   </dd>
  
  
   <dt id="ini.opcache.jit-buffer-size">
    <code class="parameter">opcache.jit_buffer_size</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Объем разделяемой памяти, который резервируется для скомпилированного JIT-кода. Нулевое значение отключает JIT.
    </span>
    <span class="simpara">
 Объём измеряется в байтах, если значение параметра указали как целое число (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>).
 Параметр также принимает значения в сокращённой нотации, которую описывает раздел <a href="faq.using.php#faq.using.shorthandbytes" class="link">FAQ</a>.
</span>

   </dd>
  
  
   <dt id="ini.opcache.jit-debug">
    <code class="parameter">opcache.jit_debug</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Битовая маска, которая определяет, какой вывод JIT-отладки включить.
     Возможные значения смотрите в файле <a href="https://github.com/php/php-src/blob/master/ext/opcache/jit/zend_jit.h" class="link external">&raquo;&nbsp;zend_jit.h</a>
     (ищите определения макросов, которые начинаются с префикса <code class="code">ZEND_JIT_DEBUG</code>).
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-bisect-limit">
    <code class="parameter">opcache.jit_bisect_limit</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Опция отладки, которая отключает JIT-компиляцию после компиляции конкретного количества функций.
     Опция помогает разделять источник неправильной JIT-компиляции.
     Примечание: этот параметр работает, только если для JIT-триггера установили значение 0 (компиляция при загрузке скрипта)
     или 1 (компиляция при первом выполнении), например <code class="code">opcache.jit=1215</code>.
     Подробнее о значениях рассказывает описание опции <a href="opcache.configuration.php#ini.opcache.jit" class="link">opcache.jit</a>.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-prof-threshold">
    <code class="parameter">opcache.jit_prof_threshold</code>
    <span class="type"><a href="language.types.float.php" class="type float">float</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Когда используется режим триггера «профилирование функций при первом запросе» этот порог определяет, считается ли
     функция горячей. Количество вызовов функции, разделённое на количество вызовов
     всех функций, должно быть выше порогового значения. Например, пороговое значение 0,005 означает,
     что функции, которые составляют более 0,5% всех вызовов, будут компилироваться JIT-компилятором.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-max-root-traces">
    <code class="parameter">opcache.jit_max_root_traces</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество корневых стеков вызовов.
     Корневой стек вызова — поток выполнения, который сначала проходит по одному пути через код,
     что является единицей JIT-компиляции.
     JIT не будет компилировать новый код, если достигнет этого предела.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-max-side-traces">
    <code class="parameter">opcache.jit_max_side_traces</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество боковых стеков вызова, которые могут принадлежать корневому стеку.
     Боковой стек вызова — другой поток выполнения, который не идёт по пути скомпилированного корневого стека вызова.
     Боковые стеки вызова, которые принадлежат тому же корневому стеку вызова, не будут компилироваться,
     если достигнут этого предела.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-max-exit-counters">
    <code class="parameter">opcache.jit_max_exit_counters</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество счётчиков выхода бокового стека вызова. Опция ограничивает общее количество
     возможных боковых стеков вызова для всех корневых стеков.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-hot-loop">
    <code class="parameter">opcache.jit_hot_loop</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     После скольких итераций цикл считается горячим.
     Допустимый диапазон значений: <code class="code">[0,255]</code>; для значений за пределами этого диапазона,
     например <code class="literal">-1</code> или <code class="literal">256</code>, будет использоваться значение по умолчанию.
     Значение <code class="literal">0</code> отключит трассировку и компиляцию циклов JIT-компилятором.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-hot-func">
    <code class="parameter">opcache.jit_hot_func</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     После скольких вызовов функция считается горячей.
     Допустимый диапазон значений: <code class="code">[0,255]</code>; для значений за пределами этого диапазона,
     например <code class="literal">-1</code> или <code class="literal">256</code>, будет использоваться значение по умолчанию.
     Значение <code class="literal">0</code> отключит трассировку и компиляцию функций JIT-компилятором.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-hot-return">
    <code class="parameter">opcache.jit_hot_return</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     После скольких возвратов возврат считается горячим.
     Допустимый диапазон значений: <code class="code">[0,255]</code>; для значений за пределами этого диапазона,
     например <code class="literal">-1</code> или <code class="literal">256</code>, будет использоваться значение по умолчанию.
     Значение <code class="literal">0</code> отключит трассировку и компиляцию возвратов JIT-компилятором.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-hot-side-exit">
    <code class="parameter">opcache.jit_hot_side_exit</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     После скольких выходов выход из бокового стека вызова считается горячим.
     Допустимый диапазон значений: <code class="code">[0,255]</code>; для значений за пределами этого диапазона,
     например <code class="literal">-1</code> или <code class="literal">256</code>, будет использоваться значение по умолчанию.
     Значение <code class="literal">0</code> отключит трассировку и компиляцию боковых выходов JIT-компилятором.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-blacklist-root-trace">
    <code class="parameter">opcache.jit_blacklist_root_trace</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество попыток компиляции корневого стека вызова, прежде чем компилятор занесёт корневой стек в чёрный список.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-blacklist-side-trace">
    <code class="parameter">opcache.jit_blacklist_side_trace</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество попыток компиляции бокового стека вызова, прежде чем компилятор занесёт боковой стек в чёрный список.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-max-loop-unrolls">
    <code class="parameter">opcache.jit_max_loop_unrolls</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество попыток развернуть цикл в боковом пути
     при попытке достичь корневого пути и закрыть внешний цикл.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-max-recursive-calls">
    <code class="parameter">opcache.jit_max_recursive_calls</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество развёрнутых циклов рекурсивных вызовов.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-max-recursive-return">
    <code class="parameter">opcache.jit_max_recursive_returns</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество развёрнутых циклов рекурсивных возвратов.
    </span>
   </dd>
  
  
   <dt id="ini.opcache.jit-max-polymorphic-calls">
    <code class="parameter">opcache.jit_max_polymorphic_calls</code>
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
   </dt>
   <dd>
    <span class="simpara">
     Максимальное количество попыток встроить полиморфные динамические вызовы или вызовы полиморфных методов.
     Вызовы, которые превышают этот предел, обрабатываются как мегаморфные и не встраиваются.
    </span>
   </dd>
  
 </dl>
</div><?php manual_footer($setup); ?>