Requirements

The behaviour of various aspects depends on the implementation of the
underlying database. Functions such as dba_optimize()
and dba_sync() will do what they promise for one
database and will do nothing for others. You have to download and install
supported dba-Handlers.

List of DBA handlers

Handler

Notes

dbm

Dbm is the oldest (original) type of Berkeley DB style
databases. You should avoid it, if possible. We do not support
the compatibility functions built into DB2 and gdbm, because
they are only compatible on the source code level, but cannot
handle the original dbm format.

ndbm

Ndbm is a newer type and more flexible than dbm. It still has
most of the arbitrary limits of dbm (therefore it is
deprecated).

Cdb is "a fast, reliable, lightweight package for creating and
reading constant databases." It is from the author of qmail and
can be found at » http://cr.yp.to/cdb.html. Since it is
constant, we support only reading operations. And since PHP 4.3.0
we support writing (not updating) through the internal cdb library.

cdb_make

Since PHP 4.3.0 we support creation (not updating) of cdb files
when the bundled cdb library is used.

flatfile

This is available since PHP 4.3.0 for compatibility with the deprecated
dbm extension only and should be avoided.
However you may use this where files were created in this format. That
happens when configure could not find any external library.

inifile

This is available since PHP 4.3.3 to be able to modify php.ini files
from within PHP scripts. When working with ini files you can pass arrays
of the form array(0=>group,1=>value_name) or strings of the form
"[group]value_name" where group is optional. As the functions
dba_firstkey() and dba_nextkey()
return string representations of the key there is a new function
dba_key_split() available since PHP 5 which allows
to convert the string keys into array keys without loosing FALSE.