Das Verhalten der dba-Funktionen ist teilweise abhängig von der Implementation des zugrundeliegenden Datenbanksystems. Funktionen wie zum Beispiel dba_optimize() und dba_sync() 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.
| Treiber | Hinweise | 
|---|---|
| dbm | Dbm ist der ursprüngliche und älteste Typ der "Berkeley DB"-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. | 
| ndbm | Ndbm ist neuer und flexibler als Dbm. Er hat jedoch die meisten Einschränkungen von Dbm übernommen und ist daher ebenfalls nicht empfehlenswert. | 
| gdbm | Gdbm ist der » GNU-Datenbank-Manager. | 
| db2 | DB2 ist für » Oracle Berkeley DB 2. Es wird beschrieben als "Werkzeugsatz mit eingebauter Hochleistungs-Unterstützung von Datenbanken sowohl für Standalone- als auch für Client/Server-Anwendungen". | 
| db3 | DB3 ist für » Oracle Berkeley DB 3. | 
| db4 | DB4 ist für » Oracle Berkeley DB 4 oder 5. Ab PHP 5.3.3 kann er mit BDB 5 verwendet werden. | 
| cdb | Cdb ist "ein schnelles, zuverlässiges und kompaktes Paket zum Erstellen und Auslesen konstanter Datenbanken." Es stammt vom Autor von qmail und kann bei » http://cr.yp.to/cdb.html 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. | 
| cdb_make | Bei Verwendung der in PHP mitgelieferten cdb-Bibliothek können cdb-Dateien erzeugt (aber nicht aktualisiert) werden. | 
| flatfile | Steht wegen der Kompatibilität mit der veralteten dbm-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. | 
| inifile | 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=>gruppe,1=>wert_name) oder Zeichenketten der Form
        "[gruppe]wert_name" (gruppe ist optional) übergeben werden. Da die
        Funktionen dba_firstkey() und
        dba_nextkey() die Zeichenketten-Darstellung des
        Schlüssels zurückgeben, steht die Funktion
        dba_key_split() zur Verfügung, die es ermöglicht,
        die Zeichenketten-Schlüssel in Array-Schlüssel umzuwandeln, ohne dass
        das falseverloren geht. | 
| qdbm | Die qdbm-Bibliothek kann bei » http://fallabs.com/qdbm/index.html heruntergeladen werden. | 
| tcadb | Die Tokyo-Cabinet-Bibliothek kann von » http://fallabs.com/tokyocabinet/ heruntergeladen werden. | 
| lmdb | Steht ab PHP 7.2.0 zur Verfügung. Die Lightning Memory-Mapped Database Bibliothek kann von » https://symas.com/lmdb/ heruntergeladen werden. | 
Beim Aufruf von dba_open() oder dba_popen() muss einer der Treibernamen als Argument angegeben werden. Die Liste der tatsächlich verfügbaren Treiber lässt sich mittlels phpinfo() oder dba_handlers() angezeigen.
