各種層面的行為取決於底層資料庫的實作。諸如 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() 顯示。