Dependências

O comportamento de vários aspectos depende da implementação do banco de dados subjacente. Funções como dba_optimize() e dba_sync() farão o que prometem para um banco de dados e não farão nada para outros. Deve-se baixar e instalar manipuladores de dba suportados.

Lista de manipuladores DBA
Manipulador Notas
dbm Dbm é o tipo mais antigo (original) de bancos de dados estilo Berkeley DB. Deve ser evitado, se possível. Não é oferecido suporte às funções de compatibilidade incorporadas ao DB2 e ao gdbm, porque elas são compatíveis apenas no nível do código-fonte, mas não podem lidar com o formato dbm original.
ndbm Ndbm é um tipo mais novo e mais flexível que dbm. Ele ainda possui a maioria dos limites arbitrários do dbm (portanto, está obsoleto).
gdbm Gdbm é o » gerenciador de banco de dados GNU.
db2 DB2 é para » Oracle Berkeley DB 2. Ele é descrito como "um kit de ferramentas programáticas que fornece suporte de banco de dados integrado de alto desempenho para aplicativos autônomos e cliente/servidor".
db3 DB3 é para » Oracle Berkeley DB 3.
db4 DB4 é para » Oracle Berkeley DB 4 ou 5. Esta opção pode ser usada com BDB 5 a partir do PHP 5.3.3.
cdb CDB é “um pacote rápido, confiável e leve para criar e ler bancos de dados constantes”. É do autor do qmail e pode ser encontrado em » http://cr.yp.to/cdb.html. Como é constante, oferecemos suporte apenas a operações de leitura. Oferecemos suporte à gravação (não à atualização) por meio da biblioteca interna cdb.
cdb_make Oferecemos suporte à criação (não à atualização) de arquivos cdb quando a biblioteca cdb incluída é usada.
flatfile Isto está disponível apenas para compatibilidade com a extensão obsoleta dbm e deve ser evitado. No entanto, pode-se usar isso onde os arquivos foram criados neste formato. Isso acontece quando o "configure" não consegue encontrar nenhuma biblioteca externa.
inifile Está disponível para poder modificar arquivos php.ini a partir de scripts PHP. Ao trabalhar com arquivos INI, pode-se passar arrays no formato array(0=>group,1=>value_name) ou strings no formato "[group]value_name" onde "group" é opcional. Como as funções dba_firstkey() e dba_nextkey() retornam representações de string da chave, existe a função dba_key_split() que permite converter as chaves de string em chaves de array sem perder false.
qdbm A biblioteca qdbm pode ser baixada em » http://fallabs.com/qdbm/index.html.
tcadb A biblioteca Tokyo Cabinet pode ser baixada em » http://fallabs.com/tokyocabinet/.
lmdb Isso está disponível desde o PHP 7.2.0. A biblioteca de banco de dados mapeado em memória do Lightning pode ser baixada em » https://symas.com/lmdb/.

Ao invocar as funções dba_open() ou dba_popen(), um dos nomes do manipulador deve ser fornecido como argumento. A lista de manipuladores realmente disponíveis é exibida invocando phpinfo() ou dba_handlers().