(PHP 4, PHP 5, PHP 7, PHP 8)
dba_popen — Установить постоянный экземпляр базы данных
$path
,$mode
,$handler
= null
,$permission
= 0644,$map_size
= 0,$flags
= null
dba_open() устанавливает постоянный экземпляр базы данных по пути
path
в режиме mode
, используя
обработчик handler
.
path
Путь до файлов базы данных.
mode
r
для режима чтения, w
для
режима чтения/записи с уже существующей базой данных. c
для режима чтения/записи и создания базы данных, если она ещё не была создана,
и n
для создания, обрезания и доступа для чтения/записи.
База данных создаётся с архитектурой BTree, другие архитектуры (вроде Hash или Queue)
не поддерживаются.
handler
Имя обработчика, который будет
использоваться для доступа по пути path
. Ему передаются
все необязательные параметры, заданные в dba_open().
Если параметр handler
равен null
,
то вызывается обработчик по умолчанию.
permission
Необязательный параметр, заданный целым числом (int), который передаётся драйверу.
У него то же значение, что и у параметра permissions
функции chmod(),
значение по умолчанию - 0644
.
Драйверы db1
, db2
, db3
,
db4
, dbm
, gdbm
,
ndbm
и lmdb
поддерживают
параметр permission
.
map_size
Необязательный параметр, заданный целым числом (int), который передаётся драйверу. Его значение должно быть кратно размеру страницы ОС или равно нулю, чтобы использовать размер карты по умолчанию.
Только драйвер lmdb
допускает параметр map_size
.
flags
Флаги для передачи драйверам базы данных. Если указано значение null
,
будут переданы флаги по умолчанию.
В настоящее время только драйвер LMDB поддерживает следующие флаги:
DBA_LMDB_USE_SUB_DIR
и
DBA_LMDB_NO_SUB_DIR
.
Функция возвращает экземпляр класса Dba\Connection в случае успешного выполнения или false
, если возникла ошибка.
Функция возвращает значение false
и выдаёт ошибку уровня E_WARNING
,
если параметр handler
равен null
, но нет обработчика по умолчанию.
Версия | Описание |
---|---|
8.4.0 | Функция теперь возвращает экземпляр класса Dba\Connection; ранее возвращался ресурс (resource). |
8.2.0 |
Добавлен параметр flags .
|
8.1.0 |
Параметр handler теперь допускает значение null .
|
7.3.14, 7.4.2 |
Драйвер lmdb теперь поддерживает дополнительный
параметр map_size .
|