By using the --enable-dba=shared configuration option you can build a dynamic loadable module to enable PHP for basic support of dbm-style databases. You also have to add support for at least one of the following handlers by specifying the --with-XXXX configure switch to your PHP configure line.
After configuring and compiling PHP you must execute the following test from commandline: php run-tests.php ext/dba. This shows whether your combination of handlers works. Most problematic are dbm and ndbm which conflict with many installations. The reason for this is that on several systems these libraries are part of more than one other library. The configuration test only prevents you from configuring malfunctioning single handlers but not combinations.
Handler | Configure Switch |
---|---|
dbm |
To enable support for dbm add --with-dbm[=DIR] .
|
ndbm |
To enable support for ndbm add --with-ndbm[=DIR] .
|
gdbm | To enable support for gdbm add --with-gdbm[=DIR] . |
db2 |
To enable support for Oracle Berkeley DB 2 add --with-db2[=DIR] .
|
db3 |
To enable support for Oracle Berkeley DB 3 add --with-db3[=DIR] .
|
db4 |
To enable support for Oracle Berkeley DB 4 or 5 add --with-db4[=DIR] .
|
cdb |
To enable support for cdb add --with-cdb[=DIR] .
|
flatfile |
To enable support for flatfile add --with-flatfile .
|
inifile |
To enable support for inifile add --with-inifile .
|
qdbm |
To enable support for qdbm add --with-qdbm[=DIR] .
|
Note:
Up to PHP 4.3.0 you are able to add both db2 and db3 handler but only one of them can be used internally. That means that you cannot have both file formats. Starting with PHP 5.0.0 there is a configuration check avoid such misconfigurations.