1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-23 22:52:18 +01:00
Files
archived-doc-fr/appendices/ini.core.xml

1883 lines
64 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: ef757b033ba1df823b1ac5176ada439effe4cab4 Maintainer: lacatoire Status: ready -->
<!-- Reviewed: no -->
<section xml:id="ini.core" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Description des directives internes du &php.ini;</title>
<para>
Cette liste inclut les directives internes du &php.ini; qu'il est possible de
définir pour personnaliser la configuration de PHP. Les directives
gérées par les extensions sont listées et détaillées dans les pages de
documentation respectives des extensions ; les informations concernant
les directives sur les sessions, par exemple, peuvent être trouvées sur
la page de documentation des <link linkend="session.configuration">sessions</link>.
</para>
<note>
<para>
Les valeurs par défaut listées ici seront utilisées lorsque &php.ini;
n'est pas chargé ; les valeurs des fichiers &php.ini; en environnement
de production et en environnement de développement peuvent varier.
</para>
</note>
<section xml:id="ini.sect.language-options">
<title>Options du langage</title>
<para>
<table>
<title>Options de configuration</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.short-open-tag">short_open_tag</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.precision">precision</link></entry>
<entry>"14"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.serialize-precision">serialize_precision</link></entry>
<entry>"-1"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>
Antérieur à PHP 7.1.0, la valeur par défaut était 17.
</entry>
</row>
<row>
<entry><link linkend="ini.disable-functions">disable_functions</link></entry>
<entry>""</entry>
<entry><constant>INI_SYSTEM</constant> uniquement</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.disable-classes">disable_classes</link></entry>
<entry>""</entry>
<entry>&php.ini; uniquement</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.exit-on-timeout">exit_on_timeout</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.expose-php">expose_php</link></entry>
<entry>"1"</entry>
<entry>&php.ini; uniquement</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.hard-timeout">hard_timeout</link></entry>
<entry>"2"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>&php.version.added; 7.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.zend.exception-ignore-args">zend.exception_ignore_args</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>&php.version.added; 7.4.0</entry>
</row>
<row>
<entry><link linkend="ini.zend.multibyte">zend.multibyte</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.script-encoding">zend.script_encoding</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.detect-unicode">zend.detect-unicode</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.signal-check">zend.signal_check</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.assertions">zend.assertions</link></entry>
<entry>"1"</entry>
<entry><constant>INI_ALL</constant> avec des restrictions</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend.exception-string-param-max-len">zend.exception_string_param_max_len</link></entry>
<entry>"15"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry>Disponible à partir de PHP 8.0.0.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.short-open-tag">
<term>
<parameter>short_open_tag</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Définit si les balises courtes d'ouverture de PHP
(<userinput>&lt;? ?&gt;</userinput>) sont autorisées ou non.
Pour utiliser PHP avec XML, il faut désactiver
cette option de configuration pour pouvoir utiliser
<userinput>&lt;?xml ?&gt;</userinput>. Sinon, il est possible de l'écrire
à l'aide de PHP, par exemple : <userinput>&lt;?php echo '&lt;?xml
version="1.0"&gt;'; ?&gt;</userinput>. Si cette option est désactivée, il
faut utiliser la version longue d'ouverture de balises PHP
(<userinput>&lt;?php ?&gt;</userinput>).
</para>
<note>
<para>
Cette directive n'affecte pas l'utilisation de
<userinput>&lt;?=</userinput>, qui est toujours disponible.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.precision">
<term>
<parameter>precision</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Le nombre de décimales significatives à afficher dans les nombres à virgule
flottante.
<literal>-1</literal> signifie que le meilleur algorithme pour arrondir
ce nombre sera utilisé.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.serialize-precision">
<term>
<parameter>serialize_precision</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Le nombre de chiffres significatifs conservés lors de la
sérialisation des nombres à virgule flottante.
<literal>-1</literal> signifie que le meilleur algorithme pour arrondir
ce nombre sera utilisé.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.expose-php">
<term>
<parameter>expose_php</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Expose à tous les clients le fait que PHP est installé sur le serveur. Ceci inclut
la version de PHP dans les en-têtes HTTP de la réponse (X-Powered-By : PHP/5.3.7).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.disable-functions">
<term>
<parameter>disable_functions</parameter>
<type>string</type>
</term>
<listitem>
<para>
Cette directive permet de désactiver certaines fonctions.
Elle prend une liste de noms de fonctions délimitée par des virgules.
À partir de PHP 8.0.0, la désactivation d'une fonction supprime sa définition,
permettant à l'espace utilisateur de la redéfinir.
Avant PHP 8.0.0, désactiver une fonction empêchait simplement la fonction d'être invoquée.
</para>
<para>
Seules les <link linkend="functions.internal">fonctions internes</link> peuvent
être désactivées en utilisant cette directive. Les <link linkend="functions.user-defined">fonctions définies par l'utilisateur</link>
ne sont pas affectées.
</para>
<para>
Cette directive doit être définie dans le &php.ini;.
Par exemple, il n'est pas possible de la définir dans le fichier &httpd.conf;.
</para>
<warning>
<simpara>
Cette directive peut être contournée et ne devrait pas être considérée
comme une mesure de sécurité suffisante pour les environnements d'hébergement mutualisé.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.disable-classes">
<term>
<parameter>disable_classes</parameter>
<type>string</type>
</term>
<listitem>
<para>
Cette directive permet de désactiver certaines classes.
Elle prend en compte une liste de noms de classes délimitée par des virgules.
La désactivation d'une classe empêche simplement son instanciation.
</para>
<para>
Seules les classes internes peuvent être désactivées en utilisant cette directive.
Les classes définies par l'utilisateur ne sont pas affectées.
</para>
<simpara>
Cette directive doit être définie dans le &php.ini;.
Par exemple, il n'est pas possible de la définir dans le fichier &httpd.conf;.
</simpara>
<warning>
<simpara>
Cette directive peut être contournée et ne devrait pas être considérée
comme une mesure de sécurité suffisante pour les environnements d'hébergement mutualisé.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.assertions">
<term>
<parameter>zend.assertions</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Lorsque défini à <literal>1</literal>, le code d'assertion sera
généré (en mode développement). Lorsque défini à <literal>0</literal>,
le code d'assertion sera généré, mais sera ignoré (il ne sera pas
exécuté) pendant l'exécution. Lorsque défini à <literal>-1</literal>,
le code d'assertion ne sera pas généré, rendant ainsi les assertions
totalement neutres (en mode production).
</simpara>
<note>
<para>
Si un processus est démarré en mode production,
<link linkend="ini.zend.assertions">zend.assertions</link> ne peut être changé
en cours d'exécution, sachant que le code pour les assertions n'a pas été
généré.
</para>
<para>
Si un processus est démarré en mode développement,
<link linkend="ini.zend.assertions">zend.assertions</link> ne peut être
défini à <literal>-1</literal> en cours d'exécution.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.exception-string-param-max-len">
<term>
<parameter>zend.exception_string_param_max_len</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
La longueur maximale des arguments de type chaîne des fonctions dans les
traces de pile converties en chaîne.
Doit être dans l'intervalle entre <literal>"0"</literal> et <literal>"1000000"</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.hard-timeout">
<term>
<parameter>hard_timeout</parameter>
<type>int</type>
</term>
<listitem>
<para>
Quand le timeout défini dans <link linkend="ini.max-execution-time">max_execution_time</link>
est atteint, le runtime PHP détruira les ressources gracieusement.
Si quelque chose se coince quand ceci se produit, le hard timeout se
déclenchera pour le nombre de secondes défini. Quand le hard timeout
est atteint, PHP quittera de manière non gracieuse.
Quand défini à 0, le hard timeout ne s'activera jamais.
</para>
<para>
Quand PHP termine d'un hard timeout, ça ressemblera à quelque chose du genre :
<screen>
<![CDATA[
Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unknown on line 0
]]>
</screen>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.exception-ignore-args">
<term>
<parameter>zend.exception_ignore_args</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Exclut les arguments dans les traces de pile générées à partir des exceptions.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.multibyte">
<term>
<parameter>zend.multibyte</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Active l'analyse lexicale des fichiers PHP dans des encodages multioctets.
L'activation de zend.multibyte est nécessaire pour utiliser certains encodages
de caractères comme SJIS, BIG5, etc. qui contiennent des caractères spéciaux
en encodage multioctets. Les encodages compatibles avec ISO-8859-1 comme
UTF-8, EUC, etc. ne nécessitent pas cette option.
</para>
<para>
Activer zend.multibyte requiert l'extension mbstring.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.script-encoding">
<term>
<parameter>zend.script_encoding</parameter>
<type>string</type>
</term>
<listitem>
<para>
Cette valeur sera utilisée à moins qu'une directive
<link linkend="control-structures.declare.encoding">declare(encoding=...)</link>
n'apparaisse en haut du script. Lorsqu'un encodage incompatible ISO-8859-1 est
utilisé, les options zend.multibyte et zend.script_encoding doivent être utilisées.
</para>
<para>
Les chaînes de caractères seront converties depuis zend.script_encoding vers
mbstring.internal_encoding, comme si
<function>mb_convert_encoding</function> avait été appelé.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.detect-unicode">
<term>
<parameter>zend.detect_unicode</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Vérifie le <literal>BOM (Byte Order Mark)</literal> et regarde si
le fichier contient des caractères multioctets valides.
Cette détection est effectuée avant le lancement de la fonction
<function>__halt_compiler</function>.
Disponible uniquement en mode Zend multioctets.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend.signal-check">
<term>
<parameter>zend.signal_check</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Vérifie si un gestionnaire de signaux de remplacement est utilisé lors
de l'arrêt.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.exit-on-timeout">
<term>
<parameter>exit_on_timeout</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Ceci est une directive Apache1 mod_php uniquement, qui force
les fils Apache à sortir si une expiration de délai d'exécution PHP
survient. Une telle expiration de délai produit en interne un appel
à longjmp() en Apache1 qui peut quitter certaines extensions dans un
statut non consistant. En terminant le processus, tous les
verrous et la mémoire seront nettoyés.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.resource-limits">
<title>Limite des ressources</title>
<para>
<table>
<title>Options de configuration</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.memory-limit">memory_limit</link></entry>
<entry>"128M"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.memory-limit">
<term>
<parameter>memory_limit</parameter>
<type>int</type>
</term>
<listitem>
<para>
Cette option détermine la mémoire limite, en octets, qu'un script
est autorisé à allouer. Cela permet de prévenir l'utilisation de toute
la mémoire par un script mal codé. Il est à noter que pour n'avoir aucune limite,
il faut définir cette directive à <literal>-1</literal>.
</para>
&ini.shorthandbytes;
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
Voir aussi : <link linkend="ini.max-execution-time">max_execution_time</link>.
</para>
</section>
<section xml:id="ini.sect.performance">
<title>Réglage de Performance</title>
<para>
<table>
<title>Réglage de Performance</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.realpath-cache-size">realpath_cache_size</link></entry>
<entry>"4M"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Antérieur à PHP 7.0.16 et 7.1.2, la valeur par défaut était <literal>"16K"</literal></entry>
</row>
<row>
<entry><link linkend="ini.realpath-cache-ttl">realpath_cache_ttl</link></entry>
<entry>"120"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<para>
Utiliser <link linkend="ini.open-basedir">open_basedir</link>
<emphasis>désactivera</emphasis> le cache realpath.
</para>
</note>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.realpath-cache-size">
<term>
<parameter>realpath_cache_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
Détermine la taille du cache de realpath qui sera utilisée par PHP.
Cette valeur devrait être augmentée sur les systèmes où PHP ouvre
plusieurs fichiers, pour refléter la quantité d'opérations exécutées
sur les fichiers.
</para>
<para>
La taille représente le nombre total d'octets dans la chaîne stockée
du chemin, plus la taille des données associées avec l'entrée du
cache. Cela signifie que pour stocker de grands chemins dans le cache,
la taille du cache doit être suffisamment grande. Cette valeur ne contrôle
pas directement le nombre de chemins distincts qui peuvent être mis en
cache.
</para>
<para>
La taille nécessaire pour les données de l'entrée du cache
est dépendante du système.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.realpath-cache-ttl">
<term>
<parameter>realpath_cache_ttl</parameter>
<type>int</type>
</term>
<listitem>
<para>
Temps (en secondes) pour lequel persiste l'information du cache de
realpath pour un fichier ou un répertoire donné. Pour des systèmes
avec des fichiers qui changent peu souvent, il est recommandé d'augmenter
cette valeur.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.data-handling">
<title>Gestion des données</title>
<para>
<table>
<title>Options de configuration</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.arg-separator.output">arg_separator.output</link></entry>
<entry>"&amp;"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.arg-separator.input">arg_separator.input</link></entry>
<entry>"&amp;"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.variables-order">variables_order</link></entry>
<entry>"EGPCS"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.request-order">request_order</link></entry>
<entry>""</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.auto-globals-jit">auto_globals_jit</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.register-argc-argv">register_argc_argv</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.enable-post-data-reading">enable_post_data_reading</link></entry>
<entry>"1"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.post-max-size">post_max_size</link></entry>
<entry>"8M"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.auto-prepend-file">auto_prepend_file</link></entry>
<entry>NULL</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.auto-append-file">auto_append_file</link></entry>
<entry>NULL</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.default-mimetype">default_mimetype</link></entry>
<entry>"text/html"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.default-charset">default_charset</link></entry>
<entry>"UTF-8"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.input-encoding">input_encoding</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.output-encoding">output_encoding</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.internal-encoding">internal_encoding</link></entry>
<entry>""</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.arg-separator.output">
<term>
<parameter>arg_separator.output</parameter>
<type>string</type>
</term>
<listitem>
<para>
Le séparateur utilisé lorsque PHP génère les URL pour séparer
les arguments.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.arg-separator.input">
<term>
<parameter>arg_separator.input</parameter>
<type>string</type>
</term>
<listitem>
<para>
Liste des séparateurs utilisés par PHP pour analyser
les URL entrantes et en déduire les valeurs.
</para>
<note>
<para>
Chaque caractère de cette directive est considéré comme étant un
séparateur !
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.variables-order">
<term>
<parameter>variables_order</parameter>
<type>string</type>
</term>
<listitem>
<para>
Définit l'ordre d'analyse des variables EGPCS (<literal>E</literal>nvironment,
<literal>G</literal>et, <literal>P</literal>ost,
<literal>C</literal>ookie, et <literal>S</literal>erver).
Par exemple, si variables_order est défini à
<literal>"SP"</literal> alors PHP créera
&link.superglobals; <varname>$_SERVER</varname> et
<varname>$_POST</varname>, mais ne créera pas
<varname>$_ENV</varname>, <varname>$_GET</varname>, et
<varname>$_COOKIE</varname>. Le fait de définir cet ordre à ""
signifie qu'aucune &link.superglobals; ne sera définie.
</para>
<warning>
<para>
En SAPIs CGI et FastCGI, <varname>$_SERVER</varname>
est également peuplé de valeurs de l'environnement ; <literal>S</literal>
est toujours équivalent à <literal>ES</literal> au regard de la position
de <literal>E</literal> ailleurs dans cette directive.
</para>
</warning>
<note>
<para>
Le contenu et l'ordre de
<varname>$_REQUEST</varname> sont également
affectés par cette directive.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.request-order">
<term>
<parameter>request_order</parameter>
<type>string</type>
</term>
<listitem>
<para>
Cette directive décrit l'ordre dans lequel PHP place les variables GET, POST
et Cookie dans le tableau _REQUEST. Le placement s'effectue de la gauche
vers la droite, les valeurs les plus récentes écrasant les valeurs plus
anciennes.
</para>
<para>
Si cette directive n'est pas définie,
<link linkend="ini.variables-order">variables_order</link>
est utilisé pour le contenu de <varname>$_REQUEST</varname>.
</para>
<para>
Il est à noter que les fichiers <filename>php.ini</filename> de la distribution
par défaut ne contiennent pas <literal>'C'</literal> pour les cookies,
ceci pour des raisons de sécurité.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.auto-globals-jit">
<term>
<parameter>auto_globals_jit</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Quand cette directive est activée, les variables SERVER , REQUEST et ENV
sont créées lorsqu'elles sont utilisées : seulement si nécessaire.
Si ces variables ne sont pas utilisées dans un script, le script
verra un gain de performances.
</para>
<warning>
<para>
L'utilisation des variables SERVER, REQUEST et ENV est vérifiée lors
de la compilation.
Ainsi, les utiliser avec, par exemple, des <link
linkend="language.variables.variable">variables dynamiques</link> ne
provoquera pas leur initialisation.
</para>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.register-argc-argv">
<term>
<parameter>register_argc_argv</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Dit à PHP s'il doit déclarer ou non les variables argv et argc
(qui contiendront les informations GET).
</simpara>
<simpara>
Voir aussi les <link linkend="features.commandline">lignes de
commande</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.enable-post-data-reading">
<term>
<parameter>enable_post_data_reading</parameter>
<type>bool</type>
</term>
<listitem>
<simpara>
Le fait de désactiver cette option fera que les
variables <varname>$_POST</varname> et <varname>$_FILES</varname>
ne seront <emphasis>pas</emphasis> peuplées.
La seule façon de lire les données transmises sera alors
d'utiliser le gestionnaire de flux
<link linkend="wrappers.php">php://input</link>.
Ceci peut être intéressant pour les requêtes via un
proxy ou pour analyser les données transmises directement
en mémoire.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.post-max-size">
<term>
<parameter>post_max_size</parameter>
<type>int</type>
</term>
<listitem>
<simpara>
Définit la taille maximale des données reçues par la méthode POST.
Cette option affecte également les fichiers chargés.
Pour charger de gros fichiers, cette valeur doit être plus grande
que la valeur de <link
linkend="ini.upload-max-filesize">upload_max_filesize</link>.
</simpara>
<simpara>
De façon générale,
<link linkend="ini.memory-limit">memory_limit</link> doit être plus grand
que <parameter>post_max_size</parameter>.
</simpara>
&ini.shorthandbytes;
<simpara>
Dans le cas où la taille des données reçues par la méthode POST est plus grande
que <parameter>post_max_size</parameter>, les
<link linkend="language.variables.superglobals">superglobales</link>
<varname>$_POST</varname> et <varname>$_FILES</varname>
seront vides. Ceci peut être surveillé de différentes façons, par exemple, en passant
une variable <varname>$_GET</varname> au script qui traite les données,
c.-à-d. <literal>&lt;form action="edit.php?processed=1"&gt;</literal>, et ainsi
vérifier si <varname>$_GET['processed']</varname> est défini.
</simpara>
<para>
<note>
<para>
PHP autorise des mots-clés pour les octets, incluant K (kilo), M (méga)
et G (giga). PHP effectue la conversion automatiquement lors de leur utilisation.
Il faut être attentif à ne pas dépasser la limite d'un entier signé sur 32 bits
(avec les versions 32 bits), auquel cas le script échouera.
</para>
</note>
</para>
<para>
<table>
<title>Historique pour <literal>post_max_size</literal></title>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.3.4</entry>
<entry>
<parameter>post_max_size</parameter> = 0 ne va pas désactiver la limite
lorsque le type de contenu est application/x-www-form-urlencoded ou
s'il n'est pas enregistré avec PHP.
</entry>
</row>
<row>
<entry>5.3.2 , 5.2.12</entry>
<entry>
Permet une taille d'envoi illimitée en définissant
<parameter>post_max_size</parameter> à 0.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.auto-prepend-file">
<term>
<parameter>auto_prepend_file</parameter>
<type>string</type>
</term>
<listitem>
<para>
Spécifie le nom d'un fichier qui sera automatiquement parcouru avant le
fichier principal. Ce fichier est inclus comme s'il l'avait été avec la fonction
<function>require</function>,
donc <link linkend="ini.include-path">include_path</link> est utilisé.
</para>
<para>
La valeur spéciale <literal>none</literal>
désactive l'ajout automatique.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.auto-append-file">
<term>
<parameter>auto_append_file</parameter>
<type>string</type>
</term>
<listitem>
<para>
Spécifie le nom du fichier qui sera automatiquement parcouru après le
fichier principal. Ce fichier est inclus comme s'il l'avait été avec la fonction
<function>require</function>,
donc <link linkend="ini.include-path">include_path</link> est utilisé.
</para>
<para>
La valeur spéciale <literal>none</literal>
désactive l'ajout automatique.
<note>
<simpara>
Si le script se termine par la fonction
<function>exit</function>,
l'ajout automatique <emphasis>ne se fera pas</emphasis>.
</simpara>
</note>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.default-mimetype">
<term>
<parameter>default_mimetype</parameter>
<type>string</type>
</term>
<listitem>
<para>
Par défaut, PHP va envoyer le type de média en utilisant l'entête Content-Type.
Pour désactiver ceci, laissez vide cette valeur.
</para>
<para>
Le type de média défini par défaut dans PHP est text/html.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.default-charset">
<term>
<parameter>default_charset</parameter>
<type>string</type>
</term>
<listitem>
<para>
"UTF-8" est la valeur par défaut et celle-ci est
utilisée comme jeu de caractères par défaut pour les fonctions et modules.
PHP enverra toujours un jeu de caractères par défaut pour
<function>htmlentities</function>,
<function>html_entity_decode</function> et
<function>htmlspecialchars</function> si le paramètre
<parameter>encoding</parameter> est omis. La valeur de
<parameter>default_charset</parameter> sera également utilisée
pour définir le jeu de caractères par défaut pour les fonctions
<link linkend="book.iconv">iconv</link> si les options de configuration
<link linkend="ini.iconv.input-encoding"><parameter>iconv.input_encoding</parameter></link>,
<link linkend="ini.iconv.output-encoding"><parameter>iconv.output_encoding</parameter></link> et
<link linkend="ini.iconv.internal-encoding"><parameter>iconv.internal_encoding</parameter></link>
ne sont pas définies, et pour les fonctions
<link linkend="book.mbstring">mbstring</link> si les options de configuration
<link linkend="ini.mbstring.http-input"><parameter>mbstring.http_input</parameter></link>,
<link linkend="ini.mbstring.http-output"><parameter>mbstring.http_output</parameter></link> et
<link linkend="ini.mbstring.internal-encoding"><parameter>mbstring.internal_encoding</parameter></link>
ne sont pas définies.
</para>
<para>
Toutes les versions de PHP vont utiliser cette valeur comme jeu
de caractères par défaut dans l'en-tête par défaut Content-Type
envoyé par PHP si l'en-tête n'est pas écrasé via un appel à la fonction
<function>header</function>.
</para>
<para>
Définir un <parameter>default_charset</parameter> à une valeur vide
n'est pas recommandé.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.input-encoding">
<term>
<parameter>input_encoding</parameter>
<type>string</type>
</term>
<listitem>
<para>
Ce paramètre est utilisé pour les modules
multibytes tels que mbstring et iconv. Vide par défaut.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.output-encoding">
<term>
<parameter>output_encoding</parameter>
<type>string</type>
</term>
<listitem>
<para>
Ce paramètre est utilisé pour les modules
multibytes tels que mbstring et iconv. Vide par défaut.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.internal-encoding">
<term>
<parameter>internal_encoding</parameter>
<type>string</type>
</term>
<listitem>
<para>
Ce paramètre est utilisé pour les modules
multibytes tels que mbstring et iconv. Vide par défaut. Si vide alors,
<link linkend="ini.default-charset">default_charset</link> est utilisé.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.path-directory">
<title>Chemins et répertoires</title>
<para>
<table>
<title>Options de configuration</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.include-path">include_path</link></entry>
<entry>".;/chemin/vers/php/pear"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.open-basedir">open_basedir</link></entry>
<entry>NULL</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.doc-root">doc_root</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.user-dir">user_dir</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.user-ini.cache-ttl">user_ini.cache_ttl</link></entry>
<entry>"300"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.user-ini.filename">user_ini.filename</link></entry>
<entry>".user.ini"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.extension-dir">extension_dir</link></entry>
<entry>"/chemin/vers/php"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.extension">extension</link></entry>
<entry>NULL</entry>
<entry>&php.ini; uniquement</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.zend-extension">zend_extension</link></entry>
<entry>NULL</entry>
<entry>&php.ini; uniquement</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.check-shebang-line">cgi.check_shebang_line</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.discard-path">cgi.discard_path</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.fix-pathinfo">cgi.fix_pathinfo</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.force-redirect">cgi.force_redirect</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.nph">cgi.nph</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.redirect-status-env">cgi.redirect_status_env</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.cgi.rfc2616-headers">cgi.rfc2616_headers</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.fastcgi.impersonate">fastcgi.impersonate</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.fastcgi.logging">fastcgi.logging</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.include-path">
<term>
<parameter>include_path</parameter>
<type>string</type>
</term>
<listitem>
<para>
Spécifie une liste de répertoires où les fonctions
<function>require</function>,
<function>include</function>,
<function>fopen</function>, <function>file</function>,
<function>readfile</function> et <function>file_get_contents</function>
chercheront les fichiers. Le format est identique à la variable d'environnement
système <envar>PATH</envar> : une liste de répertoires séparés par deux
points (<literal>:</literal>) sous Unix ou par un point-virgule
(<literal>;</literal>) sous Windows.
</para>
<para>
PHP considère chaque entrée du chemin d'inclusion séparément lors de la
recherche des fichiers à inclure. Il va vérifier le premier chemin,
et s'il ne trouve pas le fichier, il va vérifier le chemin suivant,
jusqu'à ce qu'il trouve le fichier à inclure ou bien retourner une
alerte de type
<constant>E_WARNING</constant>
ou de type <constant>E_ERROR</constant>.
Il est possible de modifier le chemin d'inclusion à l'exécution en
utilisant la fonction <function>set_include_path</function>.
</para>
<para>
<example>
<title>include_path sous Unix</title>
<programlisting role="php.ini">
<![CDATA[
include_path=".:/php/includes"
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>include_path sous Windows</title>
<programlisting role="php.ini">
<![CDATA[
include_path=".;c:\php\includes"
]]>
</programlisting>
</example>
</para>
<para>
L'utilisation d'un point (<literal>.</literal>) dans le chemin
d'inclusion permet de faire des inclusions relatives au
répertoire courant. Cependant, il est plus efficace d'inclure
explicitement un fichier avec <literal>include './file'</literal>,
que de demander à PHP de vérifier le dossier courant à chaque inclusion.
</para>
<note>
<para>
Les variables <literal>ENV</literal> sont aussi disponibles dans les
fichiers .ini. Aussi, il est possible de faire référence au dossier
home en utilisant la syntaxe <literal>${LOGIN}</literal> et <literal>${USER}</literal>.
</para>
<para>
Les variables d'environnement peuvent varier suivant les APIs Serveur, tout
comme elles peuvent varier suivant les environnements.
</para>
</note>
<para>
<example>
<title>include_path sous Unix en utilisant la variable d'environnement ${USER}</title>
<programlisting role="php.ini">
<![CDATA[
include_path = ".:${USER}/pear/php"
]]>
</programlisting>
</example>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.open-basedir">
<term>
<parameter>open_basedir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Limite les fichiers pouvant être accédés par PHP à une arborescence
de répertoires spécifique, incluant le fichier lui-même.
</para>
<para>
Lorsqu'un script tente d'accéder à un fichier avec, par exemple, la
fonction <function>include</function> ou la fonction <function>fopen</function>,
le chemin vers le fichier est analysé. Lorsque le fichier se trouve à l'extérieur
de l'arborescence de répertoires spécifiée, PHP refusera d'y accéder. Tous les
liens symboliques sont résolus, aussi, il n'est pas possible d'outrepasser
cette restriction avec un lien symbolique. Si le fichier n'existe pas, alors
le lien symbolique ne pourra être résolu et le nom du fichier est comparé avec
l'<option>open_basedir</option>.
</para>
<para>
L'option <option>open_basedir</option> peut affecter plus que les
fonctions du système de fichiers ; par exemple, si
<literal>MySQL</literal> est configuré pour utiliser le driver
<literal>mysqlnd</literal>, <literal>LOAD DATA INFILE</literal> sera affecté
par l'option <option>open_basedir</option>. La plupart des extensions
de PHP utilisent l'option <literal>open_basedir</literal> de cette façon.
</para>
<para>
La valeur spéciale <systemitem class="filesystem">.</systemitem>
indique que le dossier courant du script sera utilisé comme dossier
de base. Ceci est cependant légèrement dangereux dans le sens où le dossier
courant peut être facilement changé grâce à la fonction
<function>chdir</function>.
</para>
<para>
Dans le fichier <filename>httpd.conf</filename>, <option>open_basedir</option>
peut être désactivée (c.-à-d. pour certains hôtes virtuels) de la
<link linkend="configuration.changes.apache">même façon</link>
que n'importe quelle directive de configuration avec
"<literal>php_admin_value open_basedir none</literal>".
</para>
<para>
Sous Windows, séparez les dossiers avec un point-virgule. Sous tous les
autres systèmes, séparez les dossiers avec des deux-points. Lors de l'utilisation
d'Apache en module, les chemins de l'<option>open_basedir</option> depuis
les dossiers parents sont maintenant automatiquement hérités.
</para>
<para>
La restriction spécifiée avec l'<option>open_basedir</option> est
un nom de dossier, et non pas un préfixe.
</para>
<para>
Par défaut, tous les fichiers peuvent être ouverts.
</para>
<note>
<simpara>
<option>open_basedir</option> peut être affinée
au moment de l'exécution. Ceci signifie que si <option>open_basedir</option>
est définie à <literal>/www/</literal> dans le fichier &php.ini;,
un script peut affiner la configuration en <literal>/www/tmp/</literal>
au moment de l'exécution en utilisant la fonction <function>ini_set</function>.
Lors d'un parcours de plusieurs dossiers,
il est possible d'utiliser la constante
<constant>PATH_SEPARATOR</constant>
suivant le système d'exploitation.
</simpara>
<simpara>
À partir de PHP 8.3.0, <option>open_basedir</option> n'accepte plus
les chemins contenant le répertoire parent (<literal>..</literal>)
lorsqu'il est défini à l'exécution.
</simpara>
</note>
<note>
<para>
Utiliser open_basedir définira <link linkend="ini.realpath-cache-size">realpath_cache_size</link>
à <literal>0</literal> et ainsi <emphasis>désactive</emphasis> le cache realpath.
</para>
</note>
<caution>
<para>
<literal>open_basedir</literal> est juste une mesure de protection supplémentaire,
et n'est en aucun cas exhaustive, et on ne peut donc pas s'y fier lorsque
la sécurité est nécessaire.
</para>
</caution>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.doc-root">
<term>
<parameter>doc_root</parameter>
<type>string</type>
</term>
<listitem>
<para>
Le dossier racine de PHP sur le serveur. Uniquement utilisé si
non vide.
Si PHP n'a pas été compilé avec FORCE_REDIRECT, il
<emphasis>faut</emphasis> définir le doc_root lors de l'utilisation de
PHP en tant que CGI sous n'importe quel serveur web (autre que
IIS). Alternativement, il est possible d'utiliser la configuration
<link linkend="ini.cgi.force-redirect">cgi.force_redirect</link>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.user-ini.cache-ttl">
<term>
<parameter>user_ini.cache_ttl</parameter>
<type>int</type>
</term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.user-ini.filename">
<term>
<parameter>user_ini.filename</parameter>
<type>string</type>
</term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.user-dir">
<term>
<parameter>user_dir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Le nom de base du répertoire utilisé dans un répertoire
utilisateur pour les fichiers PHP, par exemple,
<filename class="directory">public_html</filename>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.extension-dir">
<term>
<parameter>extension_dir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Spécifie le répertoire dans lequel PHP doit chercher des extensions
externes à charger. Il est recommandé de spécifier un chemin absolu.
Voir aussi <link linkend="ini.enable-dl">enable_dl</link> et
<function>dl</function>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.extension">
<term>
<parameter>extension</parameter>
<type>string</type>
</term>
<listitem>
<para>
Quelles extensions doivent être chargées dynamiquement lors du
démarrage de PHP.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.zend-extension">
<term>
<parameter>zend_extension</parameter>
<type>string</type>
</term>
<listitem>
<para>
Nom de l'extension Zend chargeable dynamiquement (par exemple
XDebug) à charger lors du démarrage de PHP.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.check-shebang-line">
<term>
<parameter>cgi.check_shebang_line</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Contrôle si PHP <acronym>CGI</acronym> vérifie la ligne commençant par
<literal>#!</literal> (shebang) en haut du script exécuté. Cette ligne
est nécessaire si le script est destiné à être exécuté en mode autonome
et via un PHP <acronym>CGI</acronym>. PHP en mode <acronym>CGI</acronym>
ne lit pas cette ligne et ignore son contenu si cette directive est active.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.discard-path">
<term>
<parameter>cgi.discard_path</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Si activé, le binaire PHP CGI peut être placé en dehors de l'arbre web en toute
sécurité et les personnes ne seront pas capables de contourner la sécurité .htaccess.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.fix-pathinfo">
<term>
<parameter>cgi.fix_pathinfo</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Fournit un <emphasis>réel</emphasis> <literal>PATH_INFO</literal>/
<literal>PATH_TRANSLATED</literal> pour <acronym>CGI</acronym>.
Le comportement précédent de PHP était de définir
<literal>PATH_TRANSLATED</literal> en <literal>SCRIPT_FILENAME</literal>
et de ne pas remplir <literal>PATH_INFO</literal>. Pour plus d'informations
sur <literal>PATH_INFO</literal>, consulter les spécificités <acronym>CGI</acronym>.
Si définie à <literal>1</literal>, PHP <acronym>CGI</acronym> fixera ce
chemin suivant les spécifications. Si définie à <literal>0</literal>, PHP
appliquera l'ancien comportement. Par défaut, cette directive est activée. Il est
recommandé de modifier les scripts pour utiliser <literal>SCRIPT_FILENAME</literal>
à la place de <literal>PATH_TRANSLATED</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.force-redirect">
<term>
<parameter>cgi.force_redirect</parameter>
<type>bool</type>
</term>
<listitem>
<para>
cgi.force_redirect est nécessaire pour des raisons de sécurité
lors de l'utilisation de PHP en mode <acronym>CGI</acronym> sous la plupart des
serveurs web. Sans définition explicite, PHP l'activera
automatiquement par défaut. Il est possible de la désactiver
<emphasis>à ses risques et périls</emphasis>.
</para>
<note>
<para>
Utilisateurs de Windows : Lors de l'utilisation de IIS,
cette option <emphasis>doit</emphasis> être désactivée ;
pareil pour OmniHTTPD et Xitami.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.nph">
<term>
<parameter>cgi.nph</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Si cgi.nph est activé, il forcera CGI à toujours envoyer le Status: 200
avec chaque requête.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.redirect-status-env">
<term>
<parameter>cgi.redirect_status_env</parameter>
<type>string</type>
</term>
<listitem>
<para>
Si cgi.force_redirect est activé et que le serveur web n'est pas
Apache ou Netscape (iPlanet), il
<emphasis>est recommandé</emphasis> de définir un nom de
variable d'environnement que PHP utilisera pour voir si tout
est correct pour continuer l'exécution.
</para>
<note>
<para>
La définition de cette variable <emphasis>peut</emphasis> avoir
des conséquences sur la sécurité.
<emphasis>Il faut savoir ce que l'on fait avant de procéder
ainsi</emphasis>.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.cgi.rfc2616-headers">
<term>
<parameter>cgi.rfc2616_headers</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Dit à PHP quel type d'en-tête doit être utilisé lors de l'envoi
du code réponse HTTP. S'il est désactivé, PHP enverra un en-tête
"Status:" (<link xlink:href="&url.rfc;3875">RFC 3875</link>)
qui est supporté par Apache et les
autres serveurs web. Lorsqu'il est activé, PHP enverra un
en-tête répondant à la spécification de la
<link xlink:href="&url.rfc;2616">RFC 2616</link>.
</para>
<para>
Si cette option est activée et que PHP est exécuté en environnement CGI (par exemple, PHP-FPM),
il ne faut pas utiliser les en-têtes de réponse HTTP "status" RFC 2616, mais plutôt
utiliser l'équivalent RFC 3875, c.-à-d. au lieu de l'en-tête ("HTTP/1.0 404 Not found"), utiliser
("Status: 404 Not Found").
</para>
<para>
Il est recommandé de laisser ce paramètre désactivé, sauf en cas de parfaite connaissance de ses implications.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.fastcgi.impersonate">
<term>
<parameter>fastcgi.impersonate</parameter>
<type>bool</type>
</term>
<listitem>
<para>
FastCGI sous IIS (sur les systèmes d'exploitation basés sur
WINNT) supporte la possibilité d'emprunter l'identité du jeton de
sécurité du client appelant. Cela permet à IIS de définir le
contexte de sécurité sur lequel la requête est exécutée.
mod_fastcgi sous Apache ne supporte actuellement pas cette
fonctionnalité (03/17/2002). Activer si exécuté sous IIS.
Par défaut, c'est désactivé.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.fastcgi.logging">
<term>
<parameter>fastcgi.logging</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Active la journalisation SAPI avec FastCGI. Activé par défaut.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.file-uploads">
<title>Chargement de fichiers</title>
<para>
<table>
<title>Options de configuration</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.file-uploads">file_uploads</link></entry>
<entry>"1"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.upload-tmp-dir">upload_tmp_dir</link></entry>
<entry>NULL</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-nesting-level">max_input_nesting_level</link></entry>
<entry>64</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-input-vars">max_input_vars</link></entry>
<entry>1000</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.upload-max-filesize">upload_max_filesize</link></entry>
<entry>"2M"</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.max-file-uploads">max_file_uploads</link></entry>
<entry>20</entry>
<entry><constant>INI_PERDIR</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.file-uploads">
<term>
<parameter>file_uploads</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Autorise ou non le
<link linkend="features.file-upload">chargement de
fichiers</link> par HTTP. Voir aussi les directives
<link linkend="ini.upload-max-filesize">upload_max_filesize</link>,
<link linkend="ini.upload-tmp-dir">upload_tmp_dir</link> et
<link linkend="ini.post-max-size">post_max_size</link>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.upload-tmp-dir">
<term>
<parameter>upload_tmp_dir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Le répertoire temporaire utilisé pour stocker les fichiers lors
du chargement. L'utilisateur sous lequel fonctionne PHP doit
avoir les droits en écriture sur ce répertoire. Si non spécifié,
PHP utilisera celui par défaut du système.
</para>
<para>
Si le dossier renseigné ici n'est pas accessible en écriture, PHP se
rabat alors sur le dossier temporaire par défaut du système. Si
<link linkend="ini.open-basedir">open_basedir</link> est activé, alors
le dossier temporaire par défaut du système doit être autorisé pour
que le chargement des fichiers puisse fonctionner.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.upload-max-filesize">
<term>
<parameter>upload_max_filesize</parameter>
<type>int</type>
</term>
<listitem>
<para>
La taille maximale en octets d'un fichier téléversé.
</para>
<para>
<link linkend="ini.post-max-size">post_max_size</link> doit être plus large que cette valeur.
</para>
&ini.shorthandbytes;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.max-file-uploads">
<term>
<parameter>max_file_uploads</parameter>
<type>int</type>
</term>
<listitem>
<para>
Le nombre maximum de fichiers pouvant être envoyés simultanément.
Les champs de téléchargement laissés vides lors
de la soumission ne comptent plus dans le calcul de cette limite.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.sql-general">
<title>SQL général</title>
<para>
<table>
<title>Options de configuration</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.sql.safe-mode">sql.safe_mode</link></entry>
<entry>"0"</entry>
<entry><constant>INI_SYSTEM</constant></entry>
<entry>Supprimé à partir de PHP 7.2.0</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.sql.safe-mode">
<term>
<parameter>sql.safe_mode</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Si activé, les fonctions de connexion à la base de données qui spécifient
des valeurs par défaut utiliseront ces valeurs au lieu des arguments fournis.
Pour les valeurs par défaut, se reporter à la documentation des fonctions
de connexion pour la base de données concernée.
</para>
<warning>
<simpara>
Cette fonctionnalité a été <emphasis>SUPPRIMÉE</emphasis> à partir de PHP 7.2.0.
</simpara>
</warning>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ini.sect.windows">
<title>Spécifique à Windows</title>
<para>
<table>
<title>Options de configuration spécifiques à Windows</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.windows-show-crt-warning">windows.show_crt_warning</link></entry>
<entry>"0"</entry>
<entry><constant>INI_ALL</constant></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.windows-show-crt-warning">
<term>
<parameter>windows.show_crt_warning</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Cette directive affiche les avertissements CRT de Windows lorsqu'elle est activée.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
</section>
<!-- 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
-->