1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-24 07:02:06 +01:00
Files

1488 lines
53 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 8ea24dc32374bf4f6b04005e317101e4c65a0214 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<sect1 xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="opcache.configuration">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Options de configuration d'OPcache</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody xml:id="opcache.configuration.list">
<row>
<entry><link linkend="ini.opcache.enable">opcache.enable</link></entry>
<entry>1</entry>
<entry><constant>INI_ALL</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.enable-cli">opcache.enable_cli</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Entre PHP 7.1.2 et 7.1.6 inclusivement, la valeur par défaut était de 1</entry>
</row>
<row>
<entry><link linkend="ini.opcache.memory-consumption">opcache.memory_consumption</link></entry>
<entry>"128"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.interned-strings-buffer">opcache.interned_strings_buffer</link></entry>
<entry>"8"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.max-accelerated-files">opcache.max_accelerated_files</link></entry>
<entry>"10000"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.max-wasted-percentage">opcache.max_wasted_percentage</link></entry>
<entry>"5"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.use-cwd">opcache.use_cwd</link></entry>
<entry>1</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.validate-timestamps">opcache.validate_timestamps</link></entry>
<entry>1</entry>
<entry><constant>INI_ALL</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.revalidate-freq">opcache.revalidate_freq</link></entry>
<entry>"2"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.revalidate-path">opcache.revalidate_path</link></entry>
<entry>0</entry>
<entry><constant>INI_ALL</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.save-comments">opcache.save_comments</link></entry>
<entry>1</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.fast-shutdown">opcache.fast_shutdown</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Supprimé en PHP 7.2.0.</entry>
</row>
<row>
<entry><link linkend="ini.opcache.enable-file-override">opcache.enable_file_override</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.optimization-level">opcache.optimization_level</link></entry>
<entry>"0x7FFEBFFF"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Modifié depuis 0x7FFFBFFF en PHP 7.3.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.inherited-hack">opcache.inherited_hack</link></entry>
<entry>1</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Supprimé en PHP 7.3.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.dups-fix">opcache.dups_fix</link></entry>
<entry>0</entry>
<entry><constant>INI_ALL</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.blacklist-filename">opcache.blacklist_filename</link></entry>
<entry>""</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.max-file-size">opcache.max_file_size</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.consistency-checks">opcache.consistency_checks</link></entry>
<entry>0</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>&gt;Désactivé à partir de PHP 8.1.18 et 8.2.5. Supprimé à partir de PHP 8.3.0.</entry>
</row>
<row>
<entry><link linkend="ini.opcache.force-restart-timeout">opcache.force_restart_timeout</link></entry>
<entry>"180"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.error-log">opcache.error_log</link></entry>
<entry>""</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.log-verbosity-level">opcache.log_verbosity_level</link></entry>
<entry>1</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.record-warnings">opcache.record_warnings</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0.</entry>
</row>
<row>
<entry><link linkend="ini.opcache.preferred-memory-model">opcache.preferred_memory_model</link></entry>
<entry>""</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.protect-memory">opcache.protect_memory</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.mmap-base">opcache.mmap_base</link></entry>
<entry>&null;</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.restrict-api">opcache.restrict_api</link></entry>
<entry>""</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.file_update_protection">opcache.file_update_protection</link></entry>
<entry>"2"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.huge_code_pages">opcache.huge_code_pages</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.lockfile_path">opcache.lockfile_path</link></entry>
<entry>"/tmp"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.opt_debug_level">opcache.opt_debug_level</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 7.1.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.file-cache">opcache.file_cache</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.file-cache-only">opcache.file_cache_only</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.file-cache-consistency-checks">opcache.file_cache_consistency_checks</link></entry>
<entry>1</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry/>
</row>
<row>
<entry><link linkend="ini.opcache.file-cache-fallback">opcache.file_cache_fallback</link></entry>
<entry>1</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Windows uniquement.</entry>
</row>
<row>
<entry><link linkend="ini.opcache.validate-permission">opcache.validate_permission</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 7.0.14</entry>
</row>
<row>
<entry><link linkend="ini.opcache.validate-root">opcache.validate_root</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 7.0.14</entry>
</row>
<row>
<entry><link linkend="ini.opcache.preload">opcache.preload</link></entry>
<entry>""</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 7.4.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.preload-user">opcache.preload_user</link></entry>
<entry>""</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 7.4.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.cache-id">opcache.cache_id</link></entry>
<entry>""</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Windows uniquement. Disponible à partir de PHP 7.4.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit">opcache.jit</link></entry>
<entry>"disable"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0. Avant PHP 8.4.0, la valeur par défaut était "tracing"</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-buffer-size">opcache.jit_buffer_size</link></entry>
<entry>0</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-debug">opcache.jit_debug</link></entry>
<entry>0</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-bisect-limit">opcache.jit_bisect_limit</link></entry>
<entry>0</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-prof-threshold">opcache.jit_prof_threshold</link></entry>
<entry>"0.005"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-max-root-traces">opcache.jit_max_root_traces</link></entry>
<entry>"1024"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-max-side-traces">opcache.jit_max_side_traces</link></entry>
<entry>"128"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-max-exit-counters">opcache.jit_max_exit_counters</link></entry>
<entry>"8192"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-hot-loop">opcache.jit_hot_loop</link></entry>
<entry>"64"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-hot-func">opcache.jit_hot_func</link></entry>
<entry>"127"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-hot-return">opcache.jit_hot_return</link></entry>
<entry>"8"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-hot-side-exit">opcache.jit_hot_side_exit</link></entry>
<entry>"8"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-blacklist-root-trace">opcache.jit_blacklist_root_trace</link></entry>
<entry>"16"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-blacklist-side-trace">opcache.jit_blacklist_side_trace</link></entry>
<entry>"8"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-max-loop-unrolls">opcache.jit_max_loop_unrolls</link></entry>
<entry>"8"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-max-recursive-calls">opcache.jit_max_recursive_calls</link></entry>
<entry>"2"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-max-recursive-return">opcache.jit_max_recursive_returns</link></entry>
<entry>"2"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
<row>
<entry><link linkend="ini.opcache.jit-max-polymorphic-calls">opcache.jit_max_polymorphic_calls</link></entry>
<entry>"2"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<variablelist>
<varlistentry xml:id="ini.opcache.enable">
<term>
<parameter>opcache.enable</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Active le cache d'opcode. Lorsqu'il est désactivé, le code n'est
ni optimisé, ni mis en cache. Le paramétrage de <literal>opcache.enable</literal>
ne peut être activé pendant l'exécution via la fonction
<function>ini_set</function>, il ne peut être que désactivé. Tenter de l'activer
dans un script va générer une alerte.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.enable-cli">
<term>
<parameter>opcache.enable_cli</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Active le cache d'opcode pour la version CLI de PHP.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.memory-consumption">
<term>
<parameter>opcache.memory_consumption</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
La taille de la mémoire partagée utilisée par OPcache, en mégaoctets.
La valeur minimale permissible est <literal>"8"</literal>,
qui est forcé si une valeur plus petite est définie.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.interned-strings-buffer">
<term>
<parameter>opcache.interned_strings_buffer</parameter>
<type>int</type>
</term>
<listitem>
<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.
</simpara>
<note>
<simpara>
Avant PHP 8.4.0, la valeur maximale était de 4095 mégaoctets sur toutes les architectures.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.max-accelerated-files">
<term>
<parameter>opcache.max_accelerated_files</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Le nombre maximal de clés (et donc, de scripts) dans la table de hachage d'OPcache.
La valeur actuellement utilisée sera le premier nombre du jeu des
nombres premiers
<literal>{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 }</literal>
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'intervalle autorisé.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.max-wasted-percentage">
<term>
<parameter>opcache.max_wasted_percentage</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Le pourcentage maximum de mémoire gaspillée autorisée avant qu'un redémarrage
ne soit programmé, s'il n'y a pas assez de mémoire disponible.
La valeur maximale permissible est <literal>"50"</literal>,
qui est forcé si une valeur plus grande est définie.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.use-cwd">
<term>
<parameter>opcache.use_cwd</parameter>
<type>bool</type>
</term>
<listitem>
<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.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.validate-timestamps">
<term>
<parameter>opcache.validate_timestamps</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Si activé, OPcache va vérifier les mises à jour des scripts toutes les
<link linkend="ini.opcache.revalidate-freq">opcache.revalidate_freq</link>
secondes. Lorsque cette directive est désactivée, il faut réinitialiser
OPcache manuellement via la fonction <function>opcache_reset</function>,
la fonction <function>opcache_invalidate</function> ou en redémarrant le serveur
Web pour que les modifications du système de fichiers ne prennent effet.
<note>
<simpara>
OPcache peut toujours valider l'horodatage d'un fichier lors de la compilation si les options
<link linkend="ini.opcache.file_update_protection">opcache.file_update_protection</link>
ou <link linkend="ini.opcache.max-file-size">opcache.max_file_size</link>
sont définies sur des valeurs non nulles.
</simpara>
</note>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.revalidate-freq">
<term>
<parameter>opcache.revalidate_freq</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
La fréquence de vérification du timestamp du script afin de détecter
les possibles mises à jour, en secondes. La valeur <literal>0</literal>
fera qu'OPcache vérifiera les mises à jour à chaque requête.
</simpara>
<simpara>
Cette directive de configuration est ignorée si
<link linkend="ini.opcache.validate-timestamps">opcache.validate_timestamps</link>
est désactivé.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.revalidate-path">
<term>
<parameter>opcache.revalidate_path</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Si désactivé, les fichiers en cache existant utilisant le même
<link linkend="ini.include-path">include_path</link> 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é.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.save-comments">
<term>
<parameter>opcache.save_comments</parameter>
<type>bool</type>
</term>
<listitem>
<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'appuient sur l'analyse des commentaires
pour les annotations, comme Doctrine, Zend Framework 2 et PHPUnit.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.fast-shutdown">
<term>
<parameter>opcache.fast_shutdown</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Si activé, une séquence d'arrêt rapide sera utilisée, qui ne libère pas
chaque bloc alloué, mais s'appuie sur le gestionnaire de mémoire
Zend Engine pour désallouer le jeu entier des variables de requêtes, en masse.
</simpara>
<simpara>
Cette directive a été supprimée dans PHP 7.2.0. Une variante de la
séquence d'arrêt rapide a été intégrée dans PHP et sera automatiquement
utilisée si possible.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.enable-file-override">
<term>
<parameter>opcache.enable_file_override</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Lorsqu'activé, le cache opcode sera vérifié pour savoir si un fichier
a déjà été mis en cache lorsque les fonctions <function>file_exists</function>,
<function>is_file</function> et <function>is_readable</function> sont appelées.
Ceci peut accroître les performances des applications qui vérifient l'existence
et la lisibilité des scripts PHP, mais risque de retourner des données
périmées si
<link linkend="ini.opcache.validate-timestamps">opcache.validate_timestamps</link>
est désactivé.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.optimization-level">
<term>
<parameter>opcache.optimization_level</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Un masque de bits qui contrôle quelles passes d'optimisation sont exécutées.
La valeur par défaut est <literal>0x7FFEBFFF</literal>, 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'optimiseur.
</simpara>
<simpara>
Chaque bit dans le masque de bits active une passe d'optimisation spécifique :
</simpara>
<table>
<title>Masque de bits des passes d'optimisation</title>
<tgroup cols="4">
<thead>
<row>
<entry>Bit</entry>
<entry>Nom de la passe</entry>
<entry>&Description;</entry>
<entry>Défaut</entry>
</row>
</thead>
<tbody>
<row>
<entry>0</entry>
<entry>PASS_1</entry>
<entry>Optimisations peephole simples</entry>
<entry>Activé</entry>
</row>
<row>
<entry>1</entry>
<entry>PASS_2</entry>
<entry>Inutilisé (a été fusionné dans PASS_1)</entry>
<entry>Activé</entry>
</row>
<row>
<entry>2</entry>
<entry>PASS_3</entry>
<entry>Optimisation de saut simple</entry>
<entry>Activé</entry>
</row>
<row>
<entry>3</entry>
<entry>PASS_4</entry>
<entry>Optimisation des appels</entry>
<entry>Activé</entry>
</row>
<row>
<entry>4</entry>
<entry>PASS_5</entry>
<entry>Optimisation basée sur le graphe de flux de contrôle</entry>
<entry>Activé</entry>
</row>
<row>
<entry>5</entry>
<entry>PASS_6</entry>
<entry>Optimisation basée sur l'analyse de flux de données</entry>
<entry>Activé</entry>
</row>
<row>
<entry>6</entry>
<entry>PASS_7</entry>
<entry>Indique si le graphe d'appels doit être utilisé pour les optimisations SSA</entry>
<entry>Activé</entry>
</row>
<row>
<entry>7</entry>
<entry>PASS_8</entry>
<entry>Propagation conditionnelle de constantes creuses</entry>
<entry>Activé</entry>
</row>
<row>
<entry>8</entry>
<entry>PASS_9</entry>
<entry>Optimisation des variables temporaires</entry>
<entry>Activé</entry>
</row>
<row>
<entry>9</entry>
<entry>PASS_10</entry>
<entry>Suppression des opcodes NOP</entry>
<entry>Activé</entry>
</row>
<row>
<entry>10</entry>
<entry>PASS_11</entry>
<entry>Compactage des littéraux</entry>
<entry>Activé</entry>
</row>
<row>
<entry>11</entry>
<entry>PASS_12</entry>
<entry>Pré-calcul de la taille de la pile d'appels</entry>
<entry>Activé</entry>
</row>
<row>
<entry>12</entry>
<entry>PASS_13</entry>
<entry>Suppression des variables inutilisées</entry>
<entry>Activé</entry>
</row>
<row>
<entry>13</entry>
<entry>PASS_14</entry>
<entry>Élimination du code mort</entry>
<entry>Activé</entry>
</row>
<row>
<entry>14</entry>
<entry>PASS_15</entry>
<entry>Collecte et substitution des déclarations de constantes (non sûr)</entry>
<entry><emphasis>Désactivé</emphasis></entry>
</row>
<row>
<entry>15</entry>
<entry>PASS_16</entry>
<entry>Inlining de fonctions triviales (partie de l'optimisation des appels)</entry>
<entry>Activé</entry>
</row>
<row>
<entry>16</entry>
<entry>(Drapeau)</entry>
<entry>Ignorer la possibilité de surcharge d'opérateur (non sûr)</entry>
<entry><emphasis>Désactivé</emphasis></entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<title>Optimisations sûres vs non sûres</title>
<simpara>
Les <emphasis>optimisations sûres</emphasis> (activées par défaut) préservent le
comportement exact du code PHP tout en améliorant les performances. Elles incluent
l'élimination du code mort, le repliement de constantes et l'optimisation des sauts.
</simpara>
<simpara>
Les <emphasis>optimisations non sûres</emphasis> (désactivées par défaut) peuvent
altérer le comportement dans des cas particuliers :
</simpara>
<itemizedlist>
<listitem>
<simpara>
<emphasis>Bit 14</emphasis> : Collecte des constantes. Les constantes sont substituées
à la compilation, ignorant l'ordre de déclaration à l'exécution :
</simpara>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
echo getA(); // Affiche : "hello" au lieu de lancer une Error
const A = "hello";
function getA() { return A; }
]]>
</programlisting>
</informalexample>
</listitem>
<listitem>
<simpara>
<emphasis>Bit 16</emphasis> : Ignorer la surcharge d'opérateur.
Non sûr lors de l'utilisation de classes avec <literal>do_operation</literal>
(par exemple <link linkend="book.gmp">GMP</link>,
<link linkend="book.bc">BCMath</link>) dans des opérations arithmétiques.
Avec des déclarations de type, l'optimiseur peut appliquer les mêmes
optimisations en toute sécurité.
</simpara>
</listitem>
</itemizedlist>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.inherited-hack">
<term>
<parameter>opcache.inherited_hack</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Cette directive de configuration est ignorée.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.dups-fix">
<term>
<parameter>opcache.dups_fix</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Ce hack ne doit être activé que comme solution de contournement des erreurs
"Cannot redeclare class".
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.blacklist-filename">
<term>
<parameter>opcache.blacklist_filename</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
L'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.
</simpara>
<simpara>
Un fichier de liste noire simple ressemble à ceci :
</simpara>
<informalexample>
<programlisting>
<![CDATA[
; 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
]]>
</programlisting>
</informalexample>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.max-file-size">
<term>
<parameter>opcache.max_file_size</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
La taille maximale du fichier pouvant être mis en cache, en octets.
Si vaut <literal>0</literal>, tous les fichiers pourront être mis en cache.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.consistency-checks">
<term>
<parameter>opcache.consistency_checks</parameter>
<type>int</type>
</term>
<listitem>
<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'il impacte fortement les performances.
</simpara>
<note>
<simpara>
Désactivé à partir de PHP 8.1.18 et 8.2.5. Supprimé à partir de PHP 8.3.0.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.force-restart-timeout">
<term>
<parameter>opcache.force_restart_timeout</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
La durée à attendre pour le début d'un redémarrage programmé, si le
cache n'est pas activé, en secondes. Si ce délai d'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.
</simpara>
<simpara>
Si
<link linkend="ini.opcache.log-verbosity-level">opcache.log_verbosity_level</link>
vaut 2 ou plus, un avertissement sera enregistré dans le journal d'événements
des erreurs lorsque ce comportement survient.
</simpara>
<simpara>
Cette directive n'est pas supportée sur Windows.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.error-log">
<term>
<parameter>opcache.error_log</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Le log d'erreurs pour les erreurs OPcache. Une chaîne vide sera vue comme
<literal>stderr</literal>, et les erreurs seront envoyées vers la sortie
d'erreurs standard (qui sera le log des erreurs du serveur Web dans la
plupart des cas).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.log-verbosity-level">
<term>
<parameter>opcache.log_verbosity_level</parameter>
<type>int</type>
</term>
<listitem>
<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'information (niveau 3), et les messages de débogage (niveau 4).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.record-warnings">
<term>
<parameter>opcache.record_warnings</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Si cette option est activée, OPcache enregistrera les avertissements de compilation
et les rejouera lors du prochain include, même s'il est servi depuis le cache.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.preferred-memory-model">
<term>
<parameter>opcache.preferred_memory_model</parameter>
<type>string</type>
</term>
<listitem>
<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.
</simpara>
<simpara>
Les valeurs possibles sont <literal>mmap</literal>, <literal>shm</literal>,
<literal>posix</literal> et <literal>win32</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.protect-memory">
<term>
<parameter>opcache.protect_memory</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Protège la mémoire partagée des écritures non-approuvées pendant l'exécution
des scripts. Ceci est utile uniquement pour du débogage interne.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.mmap-base">
<term>
<parameter>opcache.mmap_base</parameter>
<type>string</type>
</term>
<listitem>
<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'adresse. L'utilisation de cette directive permet de corriger les erreurs
"Unable to reattach to base address".
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.restrict-api">
<term>
<parameter>opcache.restrict_api</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Autorise l'appel aux fonctions de l'API d'OPcache uniquement depuis
des scripts PHP dont le chemin commence par une chaîne spécifique.
La valeur par défaut, "", signifie "aucune restriction".
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.file_update_protection">
<term>
<parameter>opcache.file_update_protection</parameter>
<type>string</type>
</term>
<listitem>
<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 à <literal>0</literal>.
Cela permettra de mettre en cache les fichiers immédiatement.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.huge_code_pages">
<term>
<parameter>opcache.huge_code_pages</parameter>
<type>bool</type>
</term>
<listitem>
<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'exploitation.
Disponible sur Linux à partir de PHP 7.0.0,
et sur FreeBSD à partir de PHP 7.4.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.lockfile_path">
<term>
<parameter>opcache.lockfile_path</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Chemin absolu utilisé pour enregistrer les lockfiles partagés (pour *nix uniquement)
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.opt_debug_level">
<term>
<parameter>opcache.opt_debug_level</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Produit un vidage opcode pour déboguer les différentes étapes d'optimisation.
0x10000 affichera les opcodes tels que le compilateur les produit avant qu'aucune
optimisation ne se produise alors que 0x20000 affichera les codes optimisés.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.file-cache">
<term>
<parameter>opcache.file_cache</parameter>
<type>string</type>
</term>
<listitem>
<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 "" désactive la mise en cache basée sur les fichiers.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.file-cache-only">
<term>
<parameter>opcache.file_cache_only</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Active ou désactive la mise en cache de l'opcode dans la mémoire partagée.
</simpara>
<note>
<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.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.file-cache-consistency-checks">
<term>
<parameter>opcache.file_cache_consistency_checks</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Active ou désactive la validation de la somme de contrôle lorsque le script
est chargé à partir du cache de fichiers.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.file-cache-fallback">
<term>
<parameter>opcache.file_cache_fallback</parameter>
<type>bool</type>
</term>
<listitem>
<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.
</simpara>
<caution>
<simpara>
Désactiver cette option de configuration peut empêcher les processus
de démarrer, et est donc découragé.
</simpara>
</caution>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.validate-permission">
<term>
<parameter>opcache.validate_permission</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Valide les permissions des fichiers mises en cache par rapport à
l'utilisateur actuel.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.validate-root">
<term>
<parameter>opcache.validate_root</parameter>
<type>bool</type>
</term>
<listitem>
<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'accès
aux fichiers en-dehors du chroot.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.preload">
<term>
<parameter>opcache.preload</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Spécifie un script PHP qui sera compilé et exécuté lors du démarrage du serveur,
et qui peut précharger d'autres fichiers, soit grâce à <function>include</function>
ou en utilisant la fonction <function>opcache_compile_file</function>. Toutes
les entités (par exemple fonctions et classes) définies dans ces fichiers seront
disponibles aux requêtes prêtes à l'emploi, jusqu'à ce que le serveur soit éteint.
</simpara>
<note>
<simpara>
Le préchargement n'est pas supporté sur Windows.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.preload-user">
<term>
<parameter>opcache.preload_user</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Permet au préchargement d'être exécuté en tant qu'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'est pas autorisé par défaut pour des raisons de sécurité,
sauf si cette directive est explicitement définie sur <literal>root</literal>.
À partir de PHP 8.3.0, cette directive n'a plus besoin d'être définie afin d'autoriser le préchargement
lors de l'exécution en tant que root avec &cli.sapi; ou <link linkend="book.phpdbg">phpdbg SAPI</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.cache-id">
<term>
<parameter>opcache.cache_id</parameter>
<type>string</type>
</term>
<listitem>
<para>
Sur Windows, tous les processus exécutant le même <acronym>PHP</acronym>
<acronym>SAPI</acronym> sous le même compte utilisateur ayant le même ID
de cache partage une instance unique d'OPcache.
La valeur de l'ID de cache peut être choisie librement.
</para>
<tip>
<simpara>
Pour IIS, des pools d'applications différentes peuvent avoir leur propre
instance OPcache en utilisant la variable d'environnement
<envar>APP_POOL_ID</envar> comme <parameter>opcache.cache_id</parameter>.
</simpara>
</tip>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit">
<term>
<parameter>opcache.jit</parameter>
<type class="union"><type>string</type><type>int</type></type>
</term>
<listitem>
<simpara>
Pour un usage typique, cette option accepte une des quatre valeurs de chaîne suivantes :
</simpara>
<simplelist>
<member><literal>disable</literal>: Désactivé complètement, ne peut pas
être activé lors du runtime.</member>
<member><literal>off</literal>: Désactivé, mais peut être activé lors du runtime.</member>
<member>
<literal>tracing</literal>/<literal>on</literal>: Utilise le tracing JIT.
Activé par défaut et recommandé pour la plupart des utilisateurs.
</member>
<member><literal>function</literal>: Utilise le function JIT.</member>
</simplelist>
<para>
Pour un usage avancé, cette option accepte un entier à 4 chiffres
<literal>CRTO</literal>, où les chiffres signifient :
<variablelist>
<varlistentry>
<term><literal>C</literal> (Drapeaux d'optimisation spécifique au CPU)</term>
<listitem>
<simplelist>
<member><literal>0</literal>: Désactive les optimisations spécifiques au CPU.</member>
<member><literal>1</literal>: Active l'usage d'AVX, si le CPU le supporte.</member>
</simplelist>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>R</literal> (allocation de registre)</term>
<listitem>
<simplelist>
<member><literal>0</literal>: N'accomplit aucune allocation de registres</member>
<member><literal>1</literal>: Accomplit des allocations de registres au niveau d'un bloc.</member>
<member><literal>2</literal>: Accomplit des allocations de registres globales.</member>
</simplelist>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>T</literal> (trigger/déclencheur)</term>
<listitem>
<simplelist>
<member><literal>0</literal>: Compile toutes les fonctions lors du chargement du script.</member>
<member><literal>1</literal>: Compile les fonctions lors de leur première exécution.</member>
<member>
<literal>2</literal>: Profile les fonctions lors de la première requête et compile les fonctions
les plus chaudes juste après.
</member>
<member><literal>3</literal>: Profile à la volée et compile les fonctions chaudes.</member>
<member><literal>4</literal>: Actuellement inutilisé.</member>
<member>
<literal>5</literal>: Utilise le tracing JIT. Profile à la volée et
compile les traces pour les segments de code chaud.
</member>
</simplelist>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>O</literal> (niveau d'optimisation)</term>
<listitem>
<simplelist>
<member><literal>0</literal>: Pas de JIT.</member>
<member><literal>1</literal>: JIT minimal (appelle les handlers standard de la VM).</member>
<member><literal>2</literal>: Inline les handlers de la VM.</member>
<member><literal>3</literal>: Utilise l'inférence de type.</member>
<member><literal>4</literal>: Utilise un graphe d'appel.</member>
<member><literal>5</literal>: Optimise le script entier.</member>
</simplelist>
</listitem>
</varlistentry>
</variablelist>
Le mode <literal>"tracing"</literal> correspond à <code>CRTO = 1254</code>,
le mode <literal>"function"</literal> correspond à <code>CRTO = 1205</code>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-buffer-size">
<term>
<parameter>opcache.jit_buffer_size</parameter>
<type>int</type>
</term>
<listitem>
<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.
</simpara>
&ini.shorthandbytes;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-debug">
<term>
<parameter>opcache.jit_debug</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Un masque de bits spécifiant quelle sortie de débogage de JIT activer
Pour les valeurs possibles, consulter <link xlink:href="&url.php.git.src.master.view;ext/opcache/jit/zend_jit.h">zend_jit.h</link>
(voir les définitions de macro commençant par <code>ZEND_JIT_DEBUG</code>).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-bisect-limit">
<term>
<parameter>opcache.jit_bisect_limit</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Option de débogage qui désactive la compilation JIT après la compilation d'un certain nombre
de fonctions.
Ceci peut être utile pour bissecter la source d'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>opcache.jit=1215</code>.
Voir plus dans l'option <link linkend="ini.opcache.jit">opcache.jit</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-prof-threshold">
<term>
<parameter>opcache.jit_prof_threshold</parameter>
<type>float</type>
</term>
<listitem>
<simpara>
Lors de l'utilisation du mode de déclencheur "profile les fonctions lors de la première requête",
cette limite détermine si une fonction est considérée chaude. Le nombre d'appels à la fonction
divisé par le nombre d'appels à toutes les fonctions doit être supérieur à cette limite.
Par exemple, une limite de 0.005 signifie qu'une fonction qui correspond à plus de 0.5% de tous
les appels sera compilée JIT.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-max-root-traces">
<term>
<parameter>opcache.jit_max_root_traces</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Nombre maximal de traces racines (root traces). La trace racine est un flux d'exécution prenant
d'abord un chemin à travers le code, qui est une unité de la compilation JIT. JIT ne compilera
pas de nouveau code s'il atteint cette limite.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-max-side-traces">
<term>
<parameter>opcache.jit_max_side_traces</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Nombre maximal de traces adjacentes (side traces) qu'une trace racine peut avoir.
La trace adjacente est un autre flux d'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.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-max-exit-counters">
<term>
<parameter>opcache.jit_max_exit_counters</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Nombre maximal de compteurs de sortie de trace adjacente. Ceci limite le nombre total de
traces adjacentes qu'il peut y avoir, à travers toutes les traces racines.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-hot-loop">
<term>
<parameter>opcache.jit_hot_loop</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Après combien d'itérations une boucle est considérée chaude.
L'intervalle de valeurs valides est <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.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-hot-func">
<term>
<parameter>opcache.jit_hot_func</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Après combien d'appels une fonction est considérée chaude.
La plage de valeurs valides est <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.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-hot-return">
<term>
<parameter>opcache.jit_hot_return</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Après combien de retours un retour est considéré chaud.
La plage de valeurs valides est <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.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-hot-side-exit">
<term>
<parameter>opcache.jit_hot_side_exit</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Après combien de sorties une sortie adjacente est considérée chaude.
La plage de valeurs valides est <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.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-blacklist-root-trace">
<term>
<parameter>opcache.jit_blacklist_root_trace</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Nombre maximal de tentatives de compilation d'une trace racine avant que celle-ci ne soit exclue.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-blacklist-side-trace">
<term>
<parameter>opcache.jit_blacklist_side_trace</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Nombre maximal de tentatives de compilation d'une trace adjacente avant que celle-ci ne soit exclue.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-max-loop-unrolls">
<term>
<parameter>opcache.jit_max_loop_unrolls</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Nombre maximal de tentatives pour dérouler une boucle dans une trace adjacente,
tentant d'atteindre la trace racine et de fermer la boucle extérieure.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-max-recursive-calls">
<term>
<parameter>opcache.jit_max_recursive_calls</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<!-- TODO: Pas totalement sûr tbh -->
Nombre maximal d'appels récursifs déroulés dans une boucle.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-max-recursive-return">
<term>
<parameter>opcache.jit_max_recursive_returns</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
<!-- TODO: Pas totalement sûr tbh -->
Nombre maximal de retours récursifs déroulés dans une boucle.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.opcache.jit-max-polymorphic-calls">
<term>
<parameter>opcache.jit_max_polymorphic_calls</parameter>
<type>int</type>
</term>
<listitem>
<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.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->