<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'opcache.configuration.php',
    1 => 'Configuration &agrave; l\'ex&eacute;cution',
    2 => 'Configuration &agrave; l\'ex&eacute;cution',
  ),
  'up' => 
  array (
    0 => 'opcache.setup.php',
    1 => 'Installation/Configuration',
  ),
  'prev' => 
  array (
    0 => 'opcache.installation.php',
    1 => 'Installation',
  ),
  'next' => 
  array (
    0 => 'opcache.preloading.php',
    1 => 'Preloading',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    '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">Configuration à l&#039;exécution</h2>
 <p class="simpara">Le comportement de ces fonctions est
affecté par la configuration dans le fichier <var class="filename">php.ini</var>.</p>
 <p class="para">
  <table class="doctable table">
   <caption><strong>Options de configuration d&#039;OPcache</strong></caption>
   
    <thead>
     <tr>
      <th>Nom</th>
      <th>Défaut</th>
      <th>Modifiable</th>
      <th>Historique</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>INI_ALL</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>INI_SYSTEM</code></strong></td>
      <td>Entre PHP 7.1.2 et 7.1.6 inclusivement, la valeur par défaut était de 1</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.memory-consumption" class="link">opcache.memory_consumption</a></td>
      <td>&quot;128&quot;</td>
      <td><strong><code>INI_SYSTEM</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>&quot;8&quot;</td>
      <td><strong><code>INI_SYSTEM</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>&quot;10000&quot;</td>
      <td><strong><code>INI_SYSTEM</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>&quot;5&quot;</td>
      <td><strong><code>INI_SYSTEM</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>INI_SYSTEM</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>INI_ALL</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>&quot;2&quot;</td>
      <td><strong><code>INI_ALL</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>INI_ALL</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>INI_SYSTEM</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>INI_SYSTEM</code></strong></td>
      <td>Supprimé en PHP 7.2.0.</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>INI_SYSTEM</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>&quot;0x7FFEBFFF&quot;</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Modifié depuis 0x7FFFBFFF en PHP 7.3.0</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>INI_SYSTEM</code></strong></td>
      <td>Supprimé en 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>INI_ALL</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>INI_SYSTEM</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>INI_SYSTEM</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>INI_ALL</code></strong></td>
      <td>&gt;Désactivé à partir de PHP 8.1.18 et 8.2.5. Supprimé à partir de 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>&quot;180&quot;</td>
      <td><strong><code>INI_SYSTEM</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>INI_SYSTEM</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>1</td>
      <td><strong><code>INI_SYSTEM</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>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>INI_SYSTEM</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>INI_SYSTEM</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>INI_SYSTEM</code></strong></td>
      <td class="empty">&nbsp;</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>INI_SYSTEM</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>&quot;2&quot;</td>
      <td><strong><code>INI_ALL</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>INI_SYSTEM</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>INI_SYSTEM</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>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>NULL</td>
      <td><strong><code>INI_SYSTEM</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>INI_SYSTEM</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>INI_SYSTEM</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>INI_SYSTEM</code></strong></td>
      <td>Windows uniquement.</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>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>INI_SYSTEM</code></strong></td>
      <td>Windows uniquement. Disponible à partir de PHP 7.4.0</td>
     </tr>

     <tr>
      <td><a href="opcache.configuration.php#ini.opcache.jit" class="link">opcache.jit</a></td>
      <td>&quot;disable&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de PHP 8.0.0. Avant PHP 8.4.0, la valeur par défaut était &quot;tracing&quot;</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>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>INI_ALL</code></strong></td>
      <td>Disponible à partir de 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>INI_ALL</code></strong></td>
      <td>Disponible à partir de 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>&quot;0.005&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de 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>&quot;1024&quot;</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>&quot;128&quot;</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>&quot;8192&quot;</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>&quot;64&quot;</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>&quot;127&quot;</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>&quot;8&quot;</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>&quot;8&quot;</td>
      <td><strong><code>INI_SYSTEM</code></strong></td>
      <td>Disponible à partir de 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>&quot;16&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de 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>&quot;8&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de 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>&quot;8&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de 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>&quot;2&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de 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>&quot;2&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de 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>&quot;2&quot;</td>
      <td><strong><code>INI_ALL</code></strong></td>
      <td>Disponible à partir de PHP 8.0.0</td>
     </tr>

    </tbody>
   
  </table>

  Pour plus de détails sur les modes INI_*,
        reportez-vous à <a href="configuration.changes.modes.php" class="xref">O&ugrave; une directive de configuration peut &ecirc;tre modifi&eacute;e</a>.
 </p>

 <p class="para">Voici un éclaircissement sur
l&#039;utilisation des directives de configuration.</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">
     Active le cache d&#039;opcode. Lorsqu&#039;il est désactivé, le code n&#039;est
     ni optimisé, ni mis en cache. Le paramétrage de <code class="literal">opcache.enable</code>
     ne peut être activé pendant l&#039;exécution via la fonction
     <span class="function"><a href="function.ini-set.php" class="function">ini_set()</a></span>, il ne peut être que désactivé. Tenter de l&#039;activer
     dans un script va générer une alerte.
    </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">
     Active le cache d&#039;opcode pour la version CLI de 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">
     La taille de la mémoire partagée utilisée par OPcache, en mégaoctets.
     La valeur minimale permissible est <code class="literal">&quot;8&quot;</code>,
     qui est forcé si une valeur plus petite est définie.
    </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">
     La quantité de mémoire utilisée pour stocker des chaînes internes, en mégaoctets.
     La valeur maximale est de 32767 sur les architectures 64 bits, et de 4095 sur les architectures 32 bits.
    </span>
    <blockquote class="note"><p><strong class="note">Note</strong>: 
     <span class="simpara">
      Avant PHP 8.4.0, la valeur maximale était de 4095 mégaoctets sur toutes les architectures.
     </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">
     Le nombre maximal de clés (et donc, de scripts) dans la table de hachage d&#039;OPcache.
     La valeur actuellement utilisée sera le premier nombre du jeu des
     nombres premiers
     <code class="literal">{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 }</code>
     qui est plus grand ou égal que la valeur configurée. La valeur minimale est 200.
     La valeur maximale est 100000 dans PHP &lt; 5.5.6, et 1000000 dans les versions
     ultérieures.
     Les valeurs hors de cet intervalle sont fixées à l&#039;intervalle autorisé.
    </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">
     Le pourcentage maximum de mémoire gaspillée autorisée avant qu&#039;un redémarrage
     ne soit programmé, s&#039;il n&#039;y a pas assez de mémoire disponible.
     La valeur maximale permissible est <code class="literal">&quot;50&quot;</code>,
     qui est forcé si une valeur plus grande est définie.
    </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">
     Si activé, OPcache ajoute le dossier de travail courant à la clé du script,
     éliminant ainsi les collisions possibles entre les fichiers dont le nom
     de base est identique. Le fait de désactiver cette fonctionnalité améliore
     les performances, mais peut casser les applications existantes.
    </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">
     Si activé, OPcache va vérifier les mises à jour des scripts toutes les
     <a href="opcache.configuration.php#ini.opcache.revalidate-freq" class="link">opcache.revalidate_freq</a>
     secondes. Lorsque cette directive est désactivée, il faut réinitialiser
     OPcache manuellement via la fonction <span class="function"><a href="function.opcache-reset.php" class="function">opcache_reset()</a></span>,
     la fonction <span class="function"><a href="function.opcache-invalidate.php" class="function">opcache_invalidate()</a></span> ou en redémarrant le serveur
     Web pour que les modifications du système de fichiers ne prennent effet.
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       OPcache peut toujours valider l&#039;horodatage d&#039;un fichier lors de la compilation si les options
       <a href="opcache.configuration.php#ini.opcache.file_update_protection" class="link">opcache.file_update_protection</a>
       ou <a href="opcache.configuration.php#ini.opcache.max-file-size" class="link">opcache.max_file_size</a>
       sont définies sur des valeurs non nulles.
      </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">
     La fréquence de vérification du timestamp du script afin de détecter
     les possibles mises à jour, en secondes. La valeur <code class="literal">0</code>
     fera qu&#039;OPcache vérifiera les mises à jour à chaque requête.
    </span>
    <span class="simpara">
     Cette directive de configuration est ignorée si
     <a href="opcache.configuration.php#ini.opcache.validate-timestamps" class="link">opcache.validate_timestamps</a>
     est désactivé.
    </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">
     Si désactivé, les fichiers en cache existant utilisant le même
     <a href="ini.core.php#ini.include-path" class="link">include_path</a> seront réutilisés.
     Aussi, si un fichier avec le même nom est quelque part ailleurs dans le
     include_path, il ne sera pas trouvé.
    </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">
     Si désactivé, tous les commentaires de documentation seront supprimés
     du cache opcode afin de réduire la taille du code optimisé.
     La désactivation de cette directive peut casser des applications
     et des frameworks qui s&#039;appuient sur l&#039;analyse des commentaires
     pour les annotations, comme Doctrine, Zend Framework 2 et 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">
     Si activé, une séquence d&#039;arrêt rapide sera utilisée, qui ne libère pas
     chaque bloc alloué, mais s&#039;appuie sur le gestionnaire de mémoire
     Zend Engine pour désallouer le jeu entier des variables de requêtes, en masse.
    </span>
    <span class="simpara">
     Cette directive a été supprimée dans PHP 7.2.0. Une variante de la
     séquence d&#039;arrêt rapide a été intégrée dans PHP et sera automatiquement
     utilisée si possible.
    </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">
     Lorsqu&#039;activé, le cache opcode sera vérifié pour savoir si un fichier
     a déjà été mis en cache lorsque les fonctions <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> et <span class="function"><a href="function.is-readable.php" class="function">is_readable()</a></span> sont appelées.
     Ceci peut accroître les performances des applications qui vérifient l&#039;existence
     et la lisibilité des scripts PHP, mais risque de retourner des données
     périmées si
     <a href="opcache.configuration.php#ini.opcache.validate-timestamps" class="link">opcache.validate_timestamps</a>
     est désactivé.
    </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">
     Un masque de bits qui contrôle quelles passes d&#039;optimisation sont exécutées.
     La valeur par défaut est <code class="literal">0x7FFEBFFF</code>, qui active toutes les
     optimisations sûres. Désactiver des optimisations ou activer des optimisations
     non sûres est surtout utile pour déboguer/développer l&#039;optimiseur.
    </span>
    <span class="simpara">
     Chaque bit dans le masque de bits active une passe d&#039;optimisation spécifique :
    </span>
    <table class="doctable table">
     <caption><strong>Masque de bits des passes d&#039;optimisation</strong></caption>
     
      <thead>
       <tr>
        <th>Bit</th>
        <th>Nom de la passe</th>
        <th>Description</th>
        <th>Défaut</th>
       </tr>

      </thead>

      <tbody class="tbody">
       <tr>
        <td>0</td>
        <td>PASS_1</td>
        <td>Optimisations peephole simples</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>1</td>
        <td>PASS_2</td>
        <td>Inutilisé (a été fusionné dans PASS_1)</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>2</td>
        <td>PASS_3</td>
        <td>Optimisation de saut simple</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>3</td>
        <td>PASS_4</td>
        <td>Optimisation des appels</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>4</td>
        <td>PASS_5</td>
        <td>Optimisation basée sur le graphe de flux de contrôle</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>5</td>
        <td>PASS_6</td>
        <td>Optimisation basée sur l&#039;analyse de flux de données</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>6</td>
        <td>PASS_7</td>
        <td>Indique si le graphe d&#039;appels doit être utilisé pour les optimisations SSA</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>7</td>
        <td>PASS_8</td>
        <td>Propagation conditionnelle de constantes creuses</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>8</td>
        <td>PASS_9</td>
        <td>Optimisation des variables temporaires</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>9</td>
        <td>PASS_10</td>
        <td>Suppression des opcodes NOP</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>10</td>
        <td>PASS_11</td>
        <td>Compactage des littéraux</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>11</td>
        <td>PASS_12</td>
        <td>Pré-calcul de la taille de la pile d&#039;appels</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>12</td>
        <td>PASS_13</td>
        <td>Suppression des variables inutilisées</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>13</td>
        <td>PASS_14</td>
        <td>Élimination du code mort</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>14</td>
        <td>PASS_15</td>
        <td>Collecte et substitution des déclarations de constantes (non sûr)</td>
        <td><em>Désactivé</em></td>
       </tr>

       <tr>
        <td>15</td>
        <td>PASS_16</td>
        <td>Inlining de fonctions triviales (partie de l&#039;optimisation des appels)</td>
        <td>Activé</td>
       </tr>

       <tr>
        <td>16</td>
        <td>(Drapeau)</td>
        <td>Ignorer la possibilité de surcharge d&#039;opérateur (non sûr)</td>
        <td><em>Désactivé</em></td>
       </tr>

      </tbody>
     
    </table>

    <blockquote class="note"><p><strong class="note">Note</strong>: 
     <strong>Optimisations sûres vs non sûres</strong><br />
     <span class="simpara">
      Les <em>optimisations sûres</em> (activées par défaut) préservent le
      comportement exact du code PHP tout en améliorant les performances. Elles incluent
      l&#039;élimination du code mort, le repliement de constantes et l&#039;optimisation des sauts.
     </span>
     <span class="simpara">
      Les <em>optimisations non sûres</em> (désactivées par défaut) peuvent
      altérer le comportement dans des cas particuliers :
     </span>
     <ul class="itemizedlist">
      <li class="listitem">
       <span class="simpara">
        <em>Bit 14</em> : Collecte des constantes. Les constantes sont substituées
        à la compilation, ignorant l&#039;ordre de déclaration à l&#039;exécution :
       </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">// Affiche : "hello" au lieu de lancer une Error<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>Bit 16</em> : Ignorer la surcharge d&#039;opérateur.
        Non sûr lors de l&#039;utilisation de classes avec <code class="literal">do_operation</code>
        (par exemple <a href="book.gmp.php" class="link">GMP</a>,
        <a href="book.bc.php" class="link">BCMath</a>) dans des opérations arithmétiques.
        Avec des déclarations de type, l&#039;optimiseur peut appliquer les mêmes
        optimisations en toute sécurité.
       </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">
     Cette directive de configuration est ignorée.
    </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">
     Ce hack ne doit être activé que comme solution de contournement des erreurs
     &quot;Cannot redeclare class&quot;.
    </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">
     L&#039;endroit de stockage du fichier gérant la liste noire OPcache.
     Un fichier de liste noire est un fichier texte contenant des noms
     de fichiers qui ne doivent pas être accélérés ; un par ligne.
     Les jokers sont autorisés, et les préfixes peuvent également
     être fournis. Les lignes commençant par un point-virgule
     sont vues comme des commentaires et seront donc ignorées.
    </span>
    <span class="simpara">
     Un fichier de liste noire simple ressemble à ceci :
    </span>
    <div class="informalexample">
     <div class="example-contents">
<div class="cdata"><pre>
; Correspond à un fichier spécifique.
/var/www/broken.php
; Un préfixe qui correspond à tous les fichiers qui commencent par x.
/var/www/x
; Une correspondance avec un joker.
/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">
     La taille maximale du fichier pouvant être mis en cache, en octets.
     Si vaut <code class="literal">0</code>, tous les fichiers pourront être mis en cache.
    </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">
     Si la valeur est différente de zéro, OPcache va vérifier la somme de contrôle
     du cache toutes les N requêtes, où N est la valeur de cette directive
     de configuration. Ceci ne doit être activé que lors du débogage, sachant
     qu&#039;il impacte fortement les performances.
    </span>
    <blockquote class="note"><p><strong class="note">Note</strong>: 
     <span class="simpara">
      Désactivé à partir de PHP 8.1.18 et 8.2.5. Supprimé à partir de 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">
     La durée à attendre pour le début d&#039;un redémarrage programmé, si le
     cache n&#039;est pas activé, en secondes. Si ce délai d&#039;attente est atteint,
     alors OPcache imagine que quelque chose se passe mal, et va tuer les
     processus gérant les verrous sur le cache pour permettre un
     redémarrage.
    </span>
    <span class="simpara">
     Si
     <a href="opcache.configuration.php#ini.opcache.log-verbosity-level" class="link">opcache.log_verbosity_level</a>
     vaut 2 ou plus, un avertissement sera enregistré dans le journal d&#039;événements
     des erreurs lorsque ce comportement survient.
    </span>
    <span class="simpara">
     Cette directive n&#039;est pas supportée sur 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">
     Le log d&#039;erreurs pour les erreurs OPcache. Une chaîne vide sera vue comme
     <code class="literal">stderr</code>, et les erreurs seront envoyées vers la sortie
     d&#039;erreurs standard (qui sera le log des erreurs du serveur Web dans la
     plupart des cas).
    </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">
     Le niveau de verbosité des logs. Par défaut, seules les erreurs fatales
     (niveau 0) et les erreurs (niveau 1) seront enregistrées. Les autres
     niveaux disponibles sont les alertes (niveau 2), les messages
     d&#039;information (niveau 3), et les messages de débogage (niveau 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">
     Si cette option est activée, OPcache enregistrera les avertissements de compilation
     et les rejouera lors du prochain include, même s&#039;il est servi depuis le cache.
    </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">
     Le modèle de mémoire préféré pour OPcache, à utiliser. Si laissé vide,
     OPcache va choisir le modèle le plus approprié, ce qui est la meilleure
     façon de faire dans la plupart des cas.
    </span>
    <span class="simpara">
     Les valeurs possibles sont <code class="literal">mmap</code>, <code class="literal">shm</code>,
     <code class="literal">posix</code> et <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">
     Protège la mémoire partagée des écritures non-approuvées pendant l&#039;exécution
     des scripts. Ceci est utile uniquement pour du débogage interne.
    </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">
     La base utilisée pour les segments de mémoire partagée sous Windows.
     Tous les processus PHP doivent lier la mémoire partagée dans le même espace
     d&#039;adresse. L&#039;utilisation de cette directive permet de corriger les erreurs
     &quot;Unable to reattach to base address&quot;.
    </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">
     Autorise l&#039;appel aux fonctions de l&#039;API d&#039;OPcache uniquement depuis
     des scripts PHP dont le chemin commence par une chaîne spécifique.
     La valeur par défaut, &quot;&quot;, signifie &quot;aucune restriction&quot;.
    </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">
     Empêche la mise en cache des fichiers datant moins que ce nombre de secondes.
     Ceci protège de la mise en cache des fichiers incomplètement mis à jour.
     Si toutes les mises à jour de fichiers sont atomiques, les performances
     peuvent être augmentées en le définissant à <code class="literal">0</code>.
     Cela permettra de mettre en cache les fichiers immédiatement.
    </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">
     Active ou désactive la copie de code PHP (segment de texte) dans des HUGE PAGES.
     Ceci devrait améliorer les performances, mais nécessite une configuration
     appropriée du système d&#039;exploitation.
     Disponible sur Linux à partir de PHP 7.0.0,
     et sur FreeBSD à partir de 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">
     Chemin absolu utilisé pour enregistrer les lockfiles partagés (pour *nix uniquement)
    </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">
     Produit un vidage opcode pour déboguer les différentes étapes d&#039;optimisation.
     0x10000 affichera les opcodes tels que le compilateur les produit avant qu&#039;aucune
     optimisation ne se produise alors que 0x20000 affichera les codes optimisés.
    </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">
     Active et définit le répertoire de cache de second niveau. Ceci devrait
     améliorer les performances quand la mémoire SHM est pleine, au redémarrage
     du serveur ou réinitialisation de SHM.
     La valeur par défaut &quot;&quot; désactive la mise en cache basée sur les fichiers.
    </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">
     Active ou désactive la mise en cache de l&#039;opcode dans la mémoire partagée.
    </span>
    <blockquote class="note"><p><strong class="note">Note</strong>: 
     <span class="simpara">
      Avant PHP 8.1.0, désactiver cette directive avec un fichier de
      cache déjà rempli nécessite le vidage manuel du cache.
     </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">
     Active ou désactive la validation de la somme de contrôle lorsque le script
     est chargé à partir du cache de fichiers.
    </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">
     Implique opcache.file_cache_only=1 pour un certain processus qui a échoué à
     se rattacher à la mémoire partagée (pour Windows uniquement).
     Le cache de fichiers activé explicitement est requis.
    </span>
    <div class="caution"><strong class="caution">Attention</strong>
     <p class="simpara">
      Désactiver cette option de configuration peut empêcher les processus
      de démarrer, et est donc découragé.
     </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">
     Valide les permissions des fichiers mises en cache par rapport à
     l&#039;utilisateur actuel.
    </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">
     Empêche la collision de noms dans les environnements `chroot`és. Ceci devrait
     être activé dans tous les environnements `chroot`és pour empêcher l&#039;accès
     aux fichiers en-dehors du 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">
     Spécifie un script PHP qui sera compilé et exécuté lors du démarrage du serveur,
     et qui peut précharger d&#039;autres fichiers, soit grâce à <span class="function"><a href="function.include.php" class="function">include</a></span>
     ou en utilisant la fonction <span class="function"><a href="function.opcache-compile-file.php" class="function">opcache_compile_file()</a></span>. Toutes
     les entités (par exemple fonctions et classes) définies dans ces fichiers seront
     disponibles aux requêtes prêtes à l&#039;emploi, jusqu&#039;à ce que le serveur soit éteint.
    </span>
    <blockquote class="note"><p><strong class="note">Note</strong>: 
     <span class="simpara">
      Le préchargement n&#039;est pas supporté sur 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">
     Permet au préchargement d&#039;être exécuté en tant qu&#039;utilisateur système
     spécifié. Ceci est utile pour les serveurs qui démarrent en tant que root
     avant de passer à un utilisateur système non privilégié. Le préchargement
     en tant que root n&#039;est pas autorisé par défaut pour des raisons de sécurité,
     sauf si cette directive est explicitement définie sur <code class="literal">root</code>.
     À partir de PHP 8.3.0, cette directive n&#039;a plus besoin d&#039;être définie afin d&#039;autoriser le préchargement
     lors de l&#039;exécution en tant que root avec <abbr title="Command Line Interpreter/Interface">CLI</abbr> <abbr title="Server Application Programming Interface">SAPI</abbr> ou <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">
     Sur Windows, tous les processus exécutant le même <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>
     <abbr title="Server Application Programming Interface">SAPI</abbr> sous le même compte utilisateur ayant le même ID
     de cache partage une instance unique d&#039;OPcache.
     La valeur de l&#039;ID de cache peut être choisie librement.
    </p>
    <div class="tip"><strong class="tip">Astuce</strong>
     <p class="simpara">
      Pour IIS, des pools d&#039;applications différentes peuvent avoir leur propre
      instance OPcache en utilisant la variable d&#039;environnement
      <var class="envar">APP_POOL_ID</var> comme <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">
     Pour un usage typique, cette option accepte une des quatre valeurs de chaîne suivantes :
    </span>
    <ul class="simplelist">
     <li><code class="literal">disable</code>: Désactivé complètement, ne peut pas
      être activé lors du runtime.</li>
     <li><code class="literal">off</code>: Désactivé, mais peut être activé lors du runtime.</li>
     <li>
      <code class="literal">tracing</code>/<code class="literal">on</code>: Utilise le tracing JIT.
      Activé par défaut et recommandé pour la plupart des utilisateurs.
     </li>
     <li><code class="literal">function</code>: Utilise le function JIT.</li>
    </ul>
    <p class="para">
     Pour un usage avancé, cette option accepte un entier à 4 chiffres
     <code class="literal">CRTO</code>, où les chiffres signifient :
     <dl>
      
       <dt><code class="literal">C</code> (Drapeaux d&#039;optimisation spécifique au CPU)</dt>
       <dd>
        <ul class="simplelist">
         <li><code class="literal">0</code>: Désactive les optimisations spécifiques au CPU.</li>
         <li><code class="literal">1</code>: Active l'usage d'AVX, si le CPU le supporte.</li>
        </ul>
       </dd>
      
      
       <dt><code class="literal">R</code> (allocation de registre)</dt>
       <dd>
        <ul class="simplelist">
         <li><code class="literal">0</code>: N'accomplit aucune allocation de registres</li>
         <li><code class="literal">1</code>: Accomplit des allocations de registres au niveau d'un bloc.</li>
         <li><code class="literal">2</code>: Accomplit des allocations de registres globales.</li>
        </ul>
       </dd>
      
      
       <dt><code class="literal">T</code> (trigger/déclencheur)</dt>
       <dd>
        <ul class="simplelist">
         <li><code class="literal">0</code>: Compile toutes les fonctions lors du chargement du script.</li>
         <li><code class="literal">1</code>: Compile les fonctions lors de leur première exécution.</li>
         <li>
          <code class="literal">2</code>: Profile les fonctions lors de la première requête et compile les fonctions
          les plus chaudes juste après.
         </li>
         <li><code class="literal">3</code>: Profile à la volée et compile les fonctions chaudes.</li>
         <li><code class="literal">4</code>: Actuellement inutilisé.</li>
         <li>
          <code class="literal">5</code>: Utilise le tracing JIT. Profile à la volée et
          compile les traces pour les segments de code chaud.
         </li>
        </ul>
       </dd>
      
      
       <dt><code class="literal">O</code> (niveau d&#039;optimisation)</dt>
       <dd>
        <ul class="simplelist">
         <li><code class="literal">0</code>: Pas de JIT.</li>
         <li><code class="literal">1</code>: JIT minimal (appelle les handlers standard de la VM).</li>
         <li><code class="literal">2</code>: Inline les handlers de la VM.</li>
         <li><code class="literal">3</code>: Utilise l'inférence de type.</li>
         <li><code class="literal">4</code>: Utilise un graphe d'appel.</li>
         <li><code class="literal">5</code>: Optimise le script entier.</li>
        </ul>
       </dd>
      
     </dl>
     Le mode <code class="literal">&quot;tracing&quot;</code> correspond à <code class="code">CRTO = 1254</code>,
     le mode <code class="literal">&quot;function&quot;</code> correspond à <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">
     La quantité de mémoire partagée réservée pour du code compilé JIT. Une valeur de zéro désactive le JIT.
    </span>
    <span class="simpara">Lorsqu&#039;un <a href="language.types.integer.php" class="link">entier</a> est utilisé,
sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique
comme décrit dans cette
<a href="faq.using.php#faq.using.shorthandbytes" class="link">entrée de la 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">
     Un masque de bits spécifiant quelle sortie de débogage de JIT activer
     Pour les valeurs possibles, consulter <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>
     (voir les définitions de macro commençant par <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">
     Option de débogage qui désactive la compilation JIT après la compilation d&#039;un certain nombre
     de fonctions.
     Ceci peut être utile pour bissecter la source d&#039;une mauvaise compilation JIT.
     Remarque : cette option ne fonctionne que lorsque le déclencheur JIT est défini
     à 0 (compilation au chargement du script) ou 1 (compilation à la première exécution),
     par exemple, <code class="code">opcache.jit=1215</code>.
     Voir plus dans l&#039;option <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">
     Lors de l&#039;utilisation du mode de déclencheur &quot;profile les fonctions lors de la première requête&quot;,
     cette limite détermine si une fonction est considérée chaude. Le nombre d&#039;appels à la fonction
     divisé par le nombre d&#039;appels à toutes les fonctions doit être supérieur à cette limite.
     Par exemple, une limite de 0.005 signifie qu&#039;une fonction qui correspond à plus de 0.5% de tous
     les appels sera compilée 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">
     Nombre maximal de traces racines (root traces). La trace racine est un flux d&#039;exécution prenant
     d&#039;abord un chemin à travers le code, qui est une unité de la compilation JIT. JIT ne compilera
     pas de nouveau code s&#039;il atteint cette limite.
    </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">
     Nombre maximal de traces adjacentes (side traces) qu&#039;une trace racine peut avoir.
     La trace adjacente est un autre flux d&#039;exécution qui ne suit pas le chemin de la trace
     racine compilée. Les traces adjacentes appartenant à la même trace racine ne seront pas compilées
     si elles atteignent cette limite.
    </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">
     Nombre maximal de compteurs de sortie de trace adjacente. Ceci limite le nombre total de
     traces adjacentes qu&#039;il peut y avoir, à travers toutes les traces racines.
    </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">
     Après combien d&#039;itérations une boucle est considérée chaude.
     L&#039;intervalle de valeurs valides est <code class="code">[0,255]</code> ;
     pour tout paramètre hors de cette plage, par exemple -1 ou 256, la valeur par défaut sera utilisée à la place.
     Spécialement, une valeur nulle désactivera le JIT pour tracer et compiler toutes les boucles.
    </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">
     Après combien d&#039;appels une fonction est considérée chaude.
     La plage de valeurs valides est <code class="code">[0,255]</code> ;
     pour tout paramètre hors de cette plage, par exemple -1 ou 256, la valeur par défaut sera utilisée à la place.
     Spécialement, une valeur nulle désactivera le JIT pour tracer et compiler toutes les fonctions.
    </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">
     Après combien de retours un retour est considéré chaud.
     La plage de valeurs valides est <code class="code">[0,255]</code> ;
     pour tout paramètre hors de cette plage, par exemple -1 ou 256, la valeur par défaut sera utilisée à la place.
     Spécialement, une valeur nulle désactivera le JIT pour tracer et compiler tous les retours.
    </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">
     Après combien de sorties une sortie adjacente est considérée chaude.
     La plage de valeurs valides est <code class="code">[0,255]</code> ;
     pour tout paramètre hors de cette plage, par exemple -1 ou 256, la valeur par défaut sera utilisée à la place.
     Spécialement, une valeur nulle désactivera le JIT pour tracer et compiler toutes les sorties latérales.
    </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">
     Nombre maximal de tentatives de compilation d&#039;une trace racine avant que celle-ci ne soit exclue.
    </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">
     Nombre maximal de tentatives de compilation d&#039;une trace adjacente avant que celle-ci ne soit exclue.
    </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">
     Nombre maximal de tentatives pour dérouler une boucle dans une trace adjacente,
     tentant d&#039;atteindre la trace racine et de fermer la boucle extérieure.
    </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">
     
     Nombre maximal d&#039;appels récursifs déroulés dans une boucle.
    </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">
     
     Nombre maximal de retours récursifs déroulés dans une boucle.
    </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">
     Nombre maximal de tentatives pour inliner un appel polymorphe (dynamique ou méthode).
     Les appels au-dessus de cette limite sont traités comme mégamorphes et ne sont pas inlinés.
    </span>
   </dd>
  
 </dl>
</div><?php manual_footer($setup); ?>