<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'mysqlnd.persist.php',
    1 => 'Persistente (dauerhafte) Verbindungen',
    2 => 'Persistente (dauerhafte) Verbindungen',
  ),
  'up' => 
  array (
    0 => 'book.mysqlnd.php',
    1 => 'Mysqlnd',
  ),
  'prev' => 
  array (
    0 => 'mysqlnd.incompatibilities.php',
    1 => 'Inkompatibilit&auml;ten',
  ),
  'next' => 
  array (
    0 => 'mysqlnd.stats.php',
    1 => 'Statistiken',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    '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">Persistente (dauerhafte) Verbindungen</h1>

 <p class="simpara">
  <strong>Verwendung persistenter Verbindungen</strong>
 </p>
 <p class="simpara">
  Wenn <code class="literal">mysqli</code> zusammen mit <code class="literal">mysqlnd</code>
  verwendet wird, erzeugt es beim Aufbau einer persistenten Verbindung auf dem
  Server einen <code class="literal">COM_CHANGE_USER</code>-
  (<code class="literal">mysql_change_user()</code>) Aufruf. Dadurch wird
  sichergestellt, dass sich die Verbindung erneut authentifiziert.
 </p>
 <p class="simpara">
  Da mit dem <code class="literal">COM_CHANGE_USER</code>-Aufruf ein gewisser Mehraufwand
  verbunden ist, ist es möglich, diesen bei der Kompilierung zu deaktivieren.
  Wenn dann eine persistente Verbindung wiederverwendet wird, wird ein
  <code class="literal">COM_PING</code>- (<code class="literal">mysql_ping</code>) Aufruf erzeugt,
  um einfach zu testen, ob die Verbindung erneut verwendet werden kann.
 </p>
 <p class="simpara">
  Die Erzeugung von <code class="literal">COM_CHANGE_USER</code> kann mit dem
  Kompilierungs-Flag <code class="literal">MYSQLI_NO_CHANGE_USER_ON_PCONNECT</code>
  deaktiviert werden. Nur als Beispiel:
 </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">
  Oder alternativ:
 </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">
  Es ist zu beachten, dass <code class="literal">COM_CHANGE_USER</code> nur von
  <code class="literal">mysqli</code> in Verbindung mit <code class="literal">mysqlnd</code>
  verwendet wird. Andere Erweiterungs-Treiber-Kombinationen verwenden bei der
  ersten Nutzung einer persistenten Verbindung <code class="literal">COM_PING</code>.
 </p>
</div>
<?php manual_footer($setup); ?>