<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.mysqlnd.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'mysqlnd.persist.php',
    1 => 'Les connexions persistantes',
    2 => 'Les connexions persistantes',
  ),
  'up' => 
  array (
    0 => 'book.mysqlnd.php',
    1 => 'Mysqlnd',
  ),
  'prev' => 
  array (
    0 => 'mysqlnd.incompatibilities.php',
    1 => 'Incompatibilit&eacute;s',
  ),
  'next' => 
  array (
    0 => 'mysqlnd.stats.php',
    1 => 'Statistiques',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/mysqlnd/persist.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysqlnd.persist" class="chapter">
 <h1 class="title">Les connexions persistantes</h1>

  <p class="simpara">
  <strong>Utilisation des connexions persistantes</strong>
 </p>

 <p class="simpara">
  Si <code class="literal">mysqli</code> est utilisé avec <code class="literal">mysqlnd</code>,
  lorsqu&#039;une connexion persistante est créée, il génère un appel
  <code class="literal">COM_CHANGE_USER</code>
  (<code class="literal">mysql_change_user()</code>) sur le serveur. Ceci permet la
  re-authentification de la connexion.
 </p>
 <p class="simpara">
  Comme l&#039;appel <code class="literal">COM_CHANGE_USER</code> est assez lourd, il est
  possible de le désactiver à la compilation. Réutiliser une connexion
  persistante génèrera alors un appel <code class="literal">COM_PING</code>
  (<code class="literal">mysql_ping</code>) pour tester simplement si la connexion est
  réutilisable.
 </p>
 <p class="simpara">
  L&#039;utilisation de <code class="literal">COM_CHANGE_USER</code> peut être désactivée
  avec le drapeau de compilation
  <code class="literal">MYSQLI_NO_CHANGE_USER_ON_PCONNECT</code>. Par exemple:
 </p>
<div class="example-contents">
<div class="cdata"><pre>
shell# CFLAGS=&quot;-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT&quot; ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug &amp;&amp; make clean &amp;&amp; make -j6
</pre></div>
 </div>

 <p class="simpara">
  Ou encore:
 </p>
<div class="example-contents">
<div class="cdata"><pre>
shell# export CFLAGS=&quot;-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT&quot;
shell# configure --whatever-option
shell# make clean
shell# make
</pre></div>
</div>

 <p class="simpara">
  Il est à noter que seul <code class="literal">mysqli</code> avec <code class="literal">mysqlnd</code>
  utilise <code class="literal">COM_CHANGE_USER</code>. Les autres extensions/pilotes
  utilisent <code class="literal">COM_PING</code> lors de l&#039;utilisation de la connexion
  persistante.
 </p>

</div>
<?php manual_footer($setup); ?>