Files
doc-fr/reference/oci8/ini.xml
2022-01-14 20:34:34 +00:00

403 lines
16 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b9e6268918813e27972c644897970b0cdbc6f86e Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<section xml:id="oci8.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>&ConfigureOptions; OCI8</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody xml:id="oci8.configuration.list">
<row>
<entry><link linkend="ini.oci8.connection-class">oci8.connection_class</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry>Disponible à partir de PECL OCI8 1.3.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.default-prefetch">oci8.default_prefetch</link></entry>
<entry>"100"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 1.1.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.events">oci8.events</link></entry>
<entry>Off</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 1.3.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.max-persistent">oci8.max_persistent</link></entry>
<entry>"-1"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 1.1.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.old-oci-close-semantics">oci8.old_oci_close_semantics</link></entry>
<entry>Off</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 1.1. Obsolète à partir de PHP 8.1.0.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.persistent-timeout">oci8.persistent_timeout</link></entry>
<entry>"-1"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 1.1.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.ping-interval">oci8.ping_interval</link></entry>
<entry>"60"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 1.1.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.prefetch-lob-size">oci8.prefetch_lob_size</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 3.2.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.privileged-connect">oci8.privileged_connect</link></entry>
<entry>Off</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 1.1.</entry>
</row>
<row>
<entry><link linkend="ini.oci8.statement-cache-size">oci8.statement_cache_size</link></entry>
<entry>"20"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Disponible à partir de PECL OCI8 1.1.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.oci8.connection-class">
<term>
<parameter>oci8.connection_class</parameter>
<type>string</type>
</term>
<listitem>
<para>
Le texte défini par l'utilisateur est utilisé par les connexions du
pool de connexions résidantes de la base de données Oracle 11<emphasis>g</emphasis>
pour partitionner le pool. Cela permet aux connexions persistantes
OCI8 d'une application de réutiliser les sessions à la base de données
depuis un script précédent, permettant ainsi une meilleure efficacité.
Lorsqu'une application utilise un processus de base de données précédemment
utilisé avec une classe de connexion différente, les configurations
de la session, comme le format de la date par défaut d'Oracle,
seront réinitialisées. Ce comportement permet d'éviter de partager
accidentellement des informations entre les différentes applications.
</para>
<para>
La valeur peut être définie au moment de l'exécution grâce à la fonction
<function>ini_set</function>, appelée avant la connexion.
</para>
<para>
Pour utiliser DRCP, OCI8 doit être lié avec les bibliothèques Oracle 11<emphasis>g</emphasis>
et la base de données doit être Oracle 11<emphasis>g</emphasis>. Le pool de connexion doit
être activé dans la base de données, l'option de configuration
<literal>oci8.connection_class</literal> doit valoir la même chaîne
pour tous les serveurs web utilisant la même application, et la chaîne
de connexion OCI8 doit spécifier d'utiliser un serveur utilisant un pool.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.default-prefetch">
<term>
<parameter>oci8.default_prefetch</parameter>
<type>int</type>
</term>
<listitem>
<para>
Cette option définit le numbre par défaut de lignes supplémentaires
qui seront récupérées et mises en cache automatiquement chaque fois
qu'une requête de bas niveau récupérant des données depuis la base
de données sera effectuée. Le fait de définir une valeur de
<literal>0</literal> permet de désactiver cette fonctionnalité.
</para>
<para>
La valeur de pré-chargement n'altère pas le nombre de lignes que des
fonctions comme <function>oci_fetch_array</function> retourneront à
l'utilisateur ; le pré-chargement et la mise en cache de lignes
est géré en interne par OCI8.
</para>
<para>
La valeur peut être définie pour chaque requête, en exécutant la fonction
<function>oci_set_prefetch</function> avant l'exécution de la requête.
</para>
<para>
En PHP 5.3 (PECL OCI8 1.3.4), la valeur par défaut est passée de
<literal>10</literal> à <literal>100</literal>.
</para>
<para>
En PHP 5.3.2 (PECL OCI8 1.4), la valeur minimale autorisée
a été réduite de <literal>1</literal> à <literal>0</literal>,
permettant ainsi la désactivation du pré-chargement.
</para>
<para>
Lors de l'utilisation de Orable 12<emphasis>c</emphasis> ou ultérieur, la valeur de
pré-chargement définie par PHP peut être suchargée par le fichier de
configuration du client oracle : <literal>oraaccess.xml</literal>.
Consulter la documentation d'Oracle pour plus d'informations.
</para>
<note>
<simpara>
Si vous entrez une valeur trop important, cela peut conduire à
une amélioration des performances, au détriment
de l'utilisation mémoire. Pour des requêtes qui retournent un
grand nombre de données, le gain de performance peut être vraiment
significatif.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.events">
<term>
<parameter>oci8.events</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Définir à <literal>On</literal> cette option permet à PHP d'être
notifié des événements de base de données FAN (<literal>Fast Application
Notification</literal>).
</para>
<para>
Sans FAN, lorsqu'une instance de la base de données ou bien un nœud
de machines échoue brutalement, les applications PHP peuvent se bloquer
en attendant une réponse de la base de données, jusqu'au bout du délai
d'expiration TCP. Avec les événements FAN, les applications PHP sont
notifiées rapidement des erreurs qui affectent les connexions à la base de
données. L'extension OCI8 nettoiera les connexions inutilisables
dans le cache des connexions persistantes.
</para>
<para>
Lorsque vous utilisez <literal>On</literal> comme valeur, la base de données
doit également être configurée pour émettre les événements FAN.
</para>
<para>
Le support de FAN est disponible lorsque OCI8 est lié à des bibliothèques
Oracle 10<emphasis>g</emphasis>R2 (et suivants) et connecté à une base de données Oracle
10<emphasis>g</emphasis>R2 (et suivants).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.max-persistent">
<term>
<parameter>oci8.max_persistent</parameter>
<type>int</type>
</term>
<listitem>
<para>
Le nombre maximal de connexions persistantes OCI8 par processus PHP.
Le fait de définir cette option à -1 signifie qu'il n'y a aucune limite.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.old-oci-close-semantics">
<term>
<parameter>oci8.old_oci_close_semantics</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Cette option contrôle le comportement de la fonction <function>oci_close</function>.
Activer cette option signifie que <function>oci_close</function> ne fera rien du tout ;
la connexion ne sera pas fermée tant que la fin du script ne sera pas atteinte. Ceci est uniquement
pour assurer une compatibilité ascendante. Si vous pensez que vous devez activer
cette option, vous êtes <emphasis>vivement encouragé</emphasis> à
effacer les appels à la fonction <function>oci_close</function> de votre application
au lieu d'activer cette option.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.persistent-timeout">
<term>
<parameter>oci8.persistent_timeout</parameter>
<type>int</type>
</term>
<listitem>
<para>
Le délai maximal (en secondes) q'un processus PHP donné est autorisé
à maintenir une connexion persistante. Le fait de définir cette option
à -1 signifie que les connexions persistantes seront toujours maintenues
tant que le processus PHP ne se termine ou bien que la connexion est explicitement
fermée à l'aide de la fonction <function>oci_close</function>.
</para>
<note>
<simpara>
En PHP, l'expiration des ressources persistantes ne produit
aucune alerte. Elle survient lorsque PHP termine un script et
vérifie le timestamp de la dernière utilisation de la ressource.
Aussi, le paradoxe veut que les connexions persistantes ne peuvent
être closes que lors d'une quelconque activité (non nécessaire
en OCI8) dans le processus PHP. S'il y a plus d'un processus
PHP, alors chacun d'eux doivent être activés manuellement
afin de lancer l'expiration de leurs propres ressources.
L'introduction du pool de connexions persistantes (DRCP) en
Oracle 11<emphasis>g</emphasis> résolve les problèmes de mémoire et de ressources, que
les options <literal>oci8.max_persistent</literal> et
<literal>oci8.persistent_timeout</literal> ont tenté précédemment
de résoudre.
</simpara>
</note>
<note>
<simpara>
En PHP 5.3 (PECL OCI8 1.3), les connexions persistantes peuvent être
fermées avec la fonction <function>oci_close</function>.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.ping-interval">
<term>
<parameter>oci8.ping_interval</parameter>
<type>int</type>
</term>
<listitem>
<para>
Le délai maximal (en secondes) à attendre avant d'envoyer un ping durant
<function>oci_pconnect</function>. Lorsque définie à 0, les connexions
persistantes seront vérifiées à chaque réutilisation. Pour désactiver
complètement les ping, définissez cette option à -1.
</para>
<note>
<simpara>
Le fait de désactiver les pings rend les appels à <function>oci_pconnect</function>
hautement rentables, mais cela empêche PHP de détecter les problèmes de connexion,
comme les problèmes de réseau, ou si le serveur Oracle a été éteint depuis la
connexion de PHP, tant que la connexion n'est pas utilisée plus tard dans le script.
Consultez la documentation de la fonction
<function>oci_pconnect</function> pour plus d'informations.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.prefetch-lob-size">
<term>
<parameter>oci8.prefetch_lob_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
Il s'agit d'un paramètre de réglage affectant la mise en mémoire tampon interne des données LOB.
L'augmentation de cette valeur peut améliorer les performances de récupération des petits LOB en réduisant
les allers-retours entre PHP et la base de données. L'utilisation de la mémoire changera.
</para>
<para>
La valeur affecte les LOB renvoyés en tant qu'instances OCILob ainsi que ceux renvoyés
à l'aide de <constant>OCI_RETURN_LOBS</constant>.
</para>
<para>
La valeur peut être définie par instruction
avec <function>oci_set_prefetch_lob</function> avant l'exécution de l'instruction.
</para>
<note>
<simpara>
À utiliser avec Oracle Database 12.2 ou ultérieur.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.privileged-connect">
<term>
<parameter>oci8.privileged_connect</parameter>
<type>bool</type>
</term>
<listitem>
<para>
Cette option active les connexions privilégiées en utilisant les droits externes
(<constant>OCI_SYSOPER</constant>, <constant>OCI_SYSDBA</constant>).
</para>
<note>
<simpara>
Le fait de définir cette valeur à <literal>On</literal>
permet aux scripts du serveur web exécutant les privilèges utilisateurs
systèmes appropriés de se connecter à la base de données en utilisant
ces privilèges, sans avoir besoin de fournir un mot de passe à la
base de données. Ceci peut avoir des conséquences au niveau de la
sécurité.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.oci8.statement-cache-size">
<term>
<parameter>oci8.statement_cache_size</parameter>
<type>int</type>
</term>
<listitem>
<para>
Cette option active la mise en cache des requêtes, et spécifie le nombre de requêtes
à mettre en cache. Pour désactiver la mise en cache des requêtes, définissez cette
option à 0.
</para>
<para>
La mise en cache des requêtes permet de ne plus avoir besoin de transmettre
le texte de la requête à la base de données, mais aussi, de ne plus
avoir besoin de transmettre de méta-données sur la requête à PHP.
Ceci permet d'accroître significativement les performances systèmes
dans les applications, en ré-utilisant les requêtes durant toute
la vie de la connexion. Des &quot;curseurs&quot; de base de données
peuvent également aider si l'on part du principe que des requêtes seront
ré-utilisées.
</para>
<para>
Définissez cette valeur à la taille de votre jeux de requêtes courantes
utilisées par votre application. Le fait de définir une valeur trop petite
peut faire que vos requêtes seront supprimées du cache avant qu'elles ne
soient utilisées.
</para>
<para>
Cette option est la plus utilisée avec les connexions persistantes.
</para>
<para>
Avec la base de données Oracle 12<emphasis>c</emphasis>, cette valeur
peut être surchargée et automatiquement ajustée par le fichier
<literal>oraaccess.xml</literal> du client Oracle. Voir la documentation
d'Oracle pour plus d'explications.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</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
-->