|
|
@ -0,0 +1,54 @@ |
|
|
|
|
|
These functions build the foundation for accessing Berkeley DB style |
|
|
|
|
|
databases. |
|
|
|
|
|
|
|
|
|
|
|
This is a general abstraction layer for several file-based databases. As |
|
|
|
|
|
such, functionality is limited to a common subset of features supported |
|
|
|
|
|
by modern databases such as Sleepycat Software's DB2. (This is not to be |
|
|
|
|
|
confused with IBM's DB2 software, which is supported through the ODBC |
|
|
|
|
|
functions.) |
|
|
|
|
|
|
|
|
|
|
|
This extensions allows to work with the following databases: |
|
|
|
|
|
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). |
|
|
|
|
|
gdbm GDBM is the GNU database manager. |
|
|
|
|
|
db2 DB2 is Sleepycat Software's DB2. It's described as "a programmatic |
|
|
|
|
|
toolkit that provides high-performance built-in database support |
|
|
|
|
|
for both standalone and client/server applications. |
|
|
|
|
|
db3 DB3 is Sleepycat Software's DB3. |
|
|
|
|
|
db4 DB4 is Sleepycat Software's DB4. This is available since PHP 5.0. |
|
|
|
|
|
cdb 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. |
|
|
|
|
|
qdbm This is available since PHP 5.0.0. The qdbm library can be loaded |
|
|
|
|
|
from http://qdbm.sourceforge.net. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
malfaunctioning single handlers but not combinations. |