要件
各機能の動作は、使用するデータベースの実装に依存します。 dba_optimize() および dba_sync() のような関数は、特定のデータベースでは動作しますが、他のデータベースでは 機能しません。サポートされるdbaハンドラをダウンロードし、インストールする 必要があります。
ハンドラ | 注意 |
---|---|
dbm
|
dbm は最も古い(元祖の)Berkeley DB 型データベースです。可能なら
ば使用しない方が良いでしょう。DB2 および gdbm に組み込まれている 互換性を保つための関数は、サポートされません。これは、実装されて いるのがソースレベルの互換性のみであり、元の dbm フォーマットを 処理することができないためです。 |
ndbm
|
ndbm は、dbm に比べて新しく、dbm よりも柔軟です。
dbm 固有の制約の多くをまだ有しています(そのため、 推奨されません)。 |
gdbm
|
Gdbm は、» GNU データベースマネージャ
です。 |
db2
|
DB2 は、» Oracle Berkeley DB 2
用です。これは、「スタンドアローンおよびクライアント/サーバー アプリケーションの両方で高性能な組込みデータベースサポートを提供する プログラム用ツールキット」として記述されています。 |
db3
|
DB3 は、[http://www.sleepycat.com/ » Oracle Berkeley DB
3] 用です。 |
db4
|
DB4 は、[http://www.sleepycat.com/ » Oracle Berkeley DB
4 あるいは 5] 用です。 BDB 5 を使用できるのは、PHP 5.3.3 以降です。 |
cdb
|
cdb は「固定データベースの作成・読込み用の、高速で高信頼性の
軽量型パッケージ」です。これは qmail の作者によるものであり、 » http://cr.yp.to/cdb.html にあります。 固定であるため、読込操作のみがサポートされます。 内部的な cdb ライブラリにより(更新ではなく) 書き込みがサポートされています。 |
cdb_make
|
付属する cdb ライブラリを使用する場合に cdb
ファイルの(更新ではなく)作成をサポートします。 |
flatfile
|
これは、古い
|
inifile
|
これは PHP スクリプトから php.ini
ファイルを書き換えられるようにします。ini ファイルを扱う場合は、
array(0=>group,1=>value_name) のような配列、あるいは
"[group]value_name" のような文字列を渡します(group はオプションです)。
dba_firstkey() や dba_nextkey()
はキーを文字列形式で返しますが、
dba_key_split() を用いるとそれを配列形式に
変換できます。その際に |
qdbm
|
qdbm ライブラリは
» http://fallabs.com/qdbm/index.html からダウンロードできます。 |
tcadb
|
これは PHP 5.4.0 以降で有効です。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() をコールした際に表示されます。