mirror of
https://github.com/php/php-src.git
synced 2024-12-13 03:44:17 +08:00
54 lines
3.2 KiB
Plaintext
54 lines
3.2 KiB
Plaintext
|
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.
|