各機能の動作は、使用するデータベースの実装に依存します。 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 は、» Oracle Berkeley DB 3 用です。 |
db4 |
DB4 は、» 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 |
これは、古い
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() をコールした際に表示されます。