<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/dba.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'dba.requirements.php',
    1 => 'Anforderungen',
    2 => 'Anforderungen',
  ),
  'up' => 
  array (
    0 => 'dba.setup.php',
    1 => 'Installation/Konfiguration',
  ),
  'prev' => 
  array (
    0 => 'dba.setup.php',
    1 => 'Installation/Konfiguration',
  ),
  'next' => 
  array (
    0 => 'dba.installation.php',
    1 => 'Installation',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/dba/setup.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="dba.requirements" class="section">
  <h2 class="title">Anforderungen</h2>
  <p class="para">
   Das Verhalten der dba-Funktionen ist teilweise abhängig von der
   Implementation des zugrundeliegenden Datenbanksystems. Funktionen wie zum
   Beispiel <span class="function"><a href="function.dba-optimize.php" class="function">dba_optimize()</a></span> und
   <span class="function"><a href="function.dba-sync.php" class="function">dba_sync()</a></span> funktionieren möglicherweise bei einem
   Datenbanksystem wie erwartet, während sie bei anderen nichts bewirken. Die
   unterstützten DBA-Treiber müssen heruntergeladen und installiert werden.
   <table class="doctable table">
    <caption><strong>Liste der DBA-Treiber</strong></caption>
    
     <thead>
      <tr>
       <th>Treiber</th>
       <th>Hinweise</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td><code class="literal">dbm</code></td>
       <td>
        Dbm ist der ursprüngliche und älteste Typ der
        &quot;Berkeley DB&quot;-Datenbanken. Wenn möglich, sollten Sie diesen Typ
        vermeiden. Die in DB2 und gdbm enthaltenen Kompatibilitätsfunktionen
        werden nicht unterstützt, da sie nur auf Quellcode-Basis kompatibel
        sind, aber das original dbm-Format nicht bearbeiten können.
       </td>
      </tr>

      <tr>
       <td><code class="literal">ndbm</code></td>
       <td>
        Ndbm ist neuer und flexibler als Dbm. Er hat jedoch die meisten
        Einschränkungen von Dbm übernommen und ist daher ebenfalls nicht
        empfehlenswert.
       </td>
      </tr>

      <tr>
       <td><code class="literal">gdbm</code></td>
       <td>
        Gdbm ist der <a href="https://ftp.gnu.org/pub/gnu/gdbm/" class="link external">&raquo;&nbsp;GNU-Datenbank-Manager</a>.
       </td>
      </tr>

      <tr>
       <td><code class="literal">db2</code></td>
       <td>
        DB2 ist für <a href="http://www.sleepycat.com/" class="link external">&raquo;&nbsp;Oracle Berkeley DB
        2</a>. Es wird beschrieben als &quot;Werkzeugsatz mit eingebauter
        Hochleistungs-Unterstützung von Datenbanken sowohl für Standalone- als
        auch für Client/Server-Anwendungen&quot;.
       </td>
      </tr>

      <tr>
       <td><code class="literal">db3</code></td>
       <td>
        DB3 ist für <a href="http://www.sleepycat.com/" class="link external">&raquo;&nbsp;Oracle Berkeley DB
        3</a>.
       </td>
      </tr>

      <tr>
       <td><code class="literal">db4</code></td>
       <td>
        DB4 ist für <a href="http://www.sleepycat.com/" class="link external">&raquo;&nbsp;Oracle Berkeley DB 4
        oder 5</a>. Ab PHP 5.3.3 kann er mit BDB 5 verwendet werden.
       </td>
      </tr>

      <tr>
       <td><code class="literal">cdb</code></td>
       <td>
        Cdb ist &quot;ein schnelles, zuverlässiges und kompaktes Paket zum
        Erstellen und Auslesen konstanter Datenbanken.&quot; Es stammt vom Autor
        von qmail und kann bei <a href="http://cr.yp.to/cdb.html" class="link external">&raquo;&nbsp;http://cr.yp.to/cdb.html</a>
        heruntergeladen werden. Da es für konstante Daten ausgelegt ist,
        werden nur lesende Operationen unterstützt. Durch die interne
        cdb-Bibliothek werden auch schreibende Operationen (aber keine
        Aktualisierungen) unterstützt.
       </td>
      </tr>

      <tr>
       <td><code class="literal">cdb_make</code></td>
       <td>
        Bei Verwendung der in PHP mitgelieferten cdb-Bibliothek können
        cdb-Dateien erzeugt (aber nicht aktualisiert) werden.
       </td>
      </tr>

      <tr>
       <td><code class="literal">flatfile</code></td>
       <td>
        Steht wegen der Kompatibilität mit der veralteten
        <code class="literal">dbm</code>-Erweiterung zur Verfügung und sollte vermieden
        werden. Sie können ihn aber bei Dateien verwenden, die in diesem
        Format erzeugt wurden. Das geschieht, wenn configure keine externe
        Bibliothek finden konnte.
       </td>
      </tr>

      <tr>
       <td><code class="literal">inifile</code></td>
       <td>
        Steht zur Verfügung, damit php.ini-Dateien über PHP-Skripte geändert
        werden können. Wenn mit ini-Dateien gearbeitet wird, können Arrays der
        Form array(0=&gt;gruppe,1=&gt;wert_name) oder Zeichenketten der Form
        &quot;[gruppe]wert_name&quot; (gruppe ist optional) übergeben werden. Da die
        Funktionen <span class="function"><a href="function.dba-firstkey.php" class="function">dba_firstkey()</a></span> und
        <span class="function"><a href="function.dba-nextkey.php" class="function">dba_nextkey()</a></span> die Zeichenketten-Darstellung des
        Schlüssels zurückgeben, steht die Funktion
        <span class="function"><a href="function.dba-key-split.php" class="function">dba_key_split()</a></span> zur Verfügung, die es ermöglicht,
        die Zeichenketten-Schlüssel in Array-Schlüssel umzuwandeln, ohne dass
        das <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> verloren geht.
       </td>
      </tr>

      <tr>
       <td><code class="literal">qdbm</code></td>
       <td>
        Die qdbm-Bibliothek kann bei <a href="http://fallabs.com/qdbm/index.html" class="link external">&raquo;&nbsp;http://fallabs.com/qdbm/index.html</a>
        heruntergeladen werden.
       </td>
      </tr>

      <tr>
       <td><code class="literal">tcadb</code></td>
       <td>
        Die Tokyo-Cabinet-Bibliothek kann von
        <a href="http://fallabs.com/tokyocabinet/" class="link external">&raquo;&nbsp;http://fallabs.com/tokyocabinet/</a> heruntergeladen werden.
       </td>
      </tr>

      <tr>
       <td><code class="literal">lmdb</code></td>
       <td>
        Steht ab PHP 7.2.0 zur Verfügung. Die Lightning Memory-Mapped Database
        Bibliothek kann von <a href="https://symas.com/lmdb/" class="link external">&raquo;&nbsp;https://symas.com/lmdb/</a> heruntergeladen
        werden.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
  <p class="simpara">
   Beim Aufruf von <span class="function"><a href="function.dba-open.php" class="function">dba_open()</a></span> oder
   <span class="function"><a href="function.dba-popen.php" class="function">dba_popen()</a></span> muss einer der Treibernamen als Argument
   angegeben werden. Die Liste der tatsächlich verfügbaren Treiber lässt sich
   mittlels <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> oder
   <span class="function"><a href="function.dba-handlers.php" class="function">dba_handlers()</a></span> angezeigen.
  </p>
 </div><?php manual_footer($setup); ?>