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