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 vielleicht bei einem Datenbanksystem und tun gar nichts bei einem anderen. Die unterstützten DBA-Handler müssen heruntergeladen und installiert werden.
Handler | 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. Es 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. Dieser Handler steht ab PHP 4.3.2 zur Verfügung. 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. Ab PHP 4.3.0 werden duch die interne cdb-Bibliothek auch schreibende Operationen (aber keine Aktualisierungen) unterstützt. |
cdb_make | Ab PHP 4.3.0 können bei Verwendung der in PHP mitgelieferten cdb-Bibliothek cdb-Dateien erzeugt (aber nicht aktualisiert) werden. |
flatfile | Steht ab PHP 4.3.0 nur 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 ab PHP 4.3.3 zur Verfügung, damit php.ini-Dateien über PHP-Skripts 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 ab PHP 5 die neue Funktion dba_key_split() zur Verfügung, die es ermöglicht, die Zeichenketten-Schlüssel in Array-Schlüssel umzuwandeln, ohne dass das FALSE verloren geht. |
qdbm | Steht ab PHP 5.0.0 zur Verfügung. Die qdbm-Bibliothek kann bei » http://fallabs.com/qdbm/index.html heruntergeladen werden. |
Beim Aufruf von dba_open() oder dba_popen() muss einer der Handler-Namen als Argument angegeben werden. Die Liste der tatsächlich verfügbaren Handler lässt sich mittlels phpinfo() oder dba_handlers() angezeigen.
If you build (compile) in the wrong DBA handlers some PHP functions like dba_replace and dba_insert will NOT work. see User notes for dba_replace; dba_handlers and dba_open specifically for more information.