各个方面的行为取决于底层数据库的实现。诸如 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 |
可以从 » http://fallabs.com/qdbm/index.html 下载qdbm库。 |
tcadb |
可以从 » http://fallabs.com/tokyocabinet/ 下载Tokyo Cabinet库。 |
lmdb |
从PHP 7.2.0开始可用。可以从 » https://symas.com/lmdb/ 下载Lightning Memory-Mapped Database库。 |
调用 dba_open() 或 dba_popen() 函数时,必须提供其中一个处理程序名称作为参数。实际可用的处理程序列表可以通过调用 phpinfo() 或 dba_handlers() 来显示。