dba_handlers() - dba函数(数据库抽象层)
dba_handlers()
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
List all the handlers available
说明
dba_handlers([bool $full_info=FALSE
]): arraydba_handlers() list all the handlers supported by this extension.
参数
$full_infoTurns on/off full information display in the result.
返回值
Returns an array of database handlers. If$full_infois set to TRUE
, the array will be associative with the handlers names as keys, and their version information as value. Otherwise, the result will be an indexed array of handlers names.
When the internal cdb library is used you will seecdbandcdb_make.
范例
dba_handlers() Example
以上例程的输出类似于:
Available DBA handlers: - cdb: 0.75, Revision: 1.3.2.3 - cdb_make: 0.75, Revision: 1.2.2.4 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99) - inifile: 1.0, Revision: 1.6.2.3 - flatfile: 1.0, Revision: 1.5.2.4
A quick way to see which DBA handlers, without version numbers, that have been built into your version of MySQL on your system, use var_dump with dba_handler() as follows: Many distros build in these DBA Handlers by default: array(5) { [0]=> string(3) "cdb" [1]=> string(8) "cdb_make" [2]=> string(3) "db4" [3]=> string(7) "inifile" [4]=> string(8) "flatfile" } using print and pre tags for readability: array(5) { [0]=> string(3) "cdb" [1]=> string(8) "cdb_make" [2]=> string(3) "db4" [3]=> string(7) "inifile" [4]=> string(8) "flatfile" } Note there are issues with dba_insert and dba_replace without building for either GDBM or QDBM. Here are two sources for the list of DBA handlers: (http://www.php-editors.com/php_manual/ref.dba.html and http://dewa03.unep.org/manuals/php_manual/ref.dba.html; ) CDBM & CDB compiles have issues with updates, you can read databases and write new database files, but you will be prevented from using dba_replace() and you may have issues with dba_insert(). NDBM & DBM are depreciated. DB2, DB3 & DB4 (Berkeley DB Sleepycat Software / Oracle) Have read online about issues with dba_replace() and db4 specifically. Make sure you test your installation for correct usage of all DBA functions. SDBM, TDB, TinyCDB were not listed on most of the sources I have found online. Those DBA handlers and the names of the developers were listed on the QDBM source forge site. How they interact with dba_replace() I do not know. You should be aware of their existence. GDBM and QDBM are the only other two DBA handlers I am aware of. Both are reported to allow PHP's dba_replace() function to work correctly so either may be an acceptable option. The following three restrictions of traditional DBM are not issues for either GDBM or QDBM: 1) a process can handle only one database; 2) the size of a key and a value is bounded; 3) a database file is sparse. DBA handler benchmark compares QDBM, GDBM, NDBM, SDBM, TDB, CDB, BDB, QDBM-BT-ASC, QDBM-BT-RND, BDB-BT-ASC, BDB-BT-RND can be found here: (http://qdbm.sourceforge.net/benchmark.pdf); QDBM seems to offer significant improvements in speed over the other DBA Handlers, test in your environment to verify the results.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!