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 false verloren 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.