各个方面的行为取决于底层数据库的实现。 dba_optimize() 和 dba_sync() 这样的函数对一个数据库有效,对另一个数据库无效。 您需要下载并安装支持的 dba 处理器。
处理器 | 说明 |
---|---|
dbm |
Dbm 是最古老的(原始的)Berkeley DB 风格数据库类型。 如果可能,请避免使用它。 我们不支持 DB2 和 gdbm 中内置的兼容性函数,因为它们只在源代码级别兼容,但无法处理原始的 dbm 格式。 |
ndbm |
Ndbm 比 dbm 更新,也更灵活。 它仍然保留了 dbm 的大部分任意限制(因此已弃用)。 |
gdbm |
Gdbm 是 » GNU 数据库管理器. |
db2 |
DB2 用于 » Oracle Berkeley DB 2。 它被描述为“一个编程工具包,为独立应用程序和客户端/服务器应用程序提供高性能内置数据库支持”。 |
db3 |
DB3 用于 » Oracle Berkeley DB 3. |
db4 |
DB4 用于 » Oracle Berkeley DB 4 或 5。 从 PHP 5.3.3 开始,此选项可用于 BDB 5。 |
cdb |
Cdb 是“一个快速、可靠、轻量级的软件包,用于创建和读取常量数据库”。 它来自 qmail 的作者,可以在 » http://cr.yp.to/cdb.html 找到。 由于它是常量,我们只支持读取操作。 我们通过内部 cdb 库支持写入(而不是更新)。 |
cdb_make |
当使用捆绑的 cdb 库时,我们支持创建(而不是更新)cdb 文件。 |
flatfile |
此功能可用于与已弃用的 dbm 扩展兼容,应避免使用。 但是,您可以在文件以这种格式创建的地方使用它。 当 configure 找不到任何外部库时会发生这种情况。 |
inifile |
此功能可用于从 PHP 脚本内部修改 php.ini 文件。 当使用 ini 文件时,您可以传递以下形式的数组:array(0=>group,1=>value_name) 或字符串:[group]value_name,其中 group 可选。 由于 dba_firstkey() 和 dba_nextkey() 函数返回字符串形式的键,因此有一个 dba_key_split() 函数,允许将字符串键转换为数组键,而不会丢失 false 。 |
qdbm |
qdbm 库可以从 » http://fallabs.com/qdbm/index.html 下载。 |
tcadb |
Tokyo Cabinet 库可以从 » http://fallabs.com/tokyocabinet/ 下载。 |
lmdb |
此功能从 PHP 7.2.0 开始可用。 Lightning Memory-Mapped Database 库可以从 » https://symas.com/lmdb/ 下载。 |
当调用 dba_open() 或 dba_popen() 函数时,必须提供一个处理器名称作为参数。 可用的实际处理器列表可以通过调用 phpinfo() 或 dba_handlers() 来显示。