Abre o banco de dados de forma persistente

# dba_popen

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_popen — Abre o banco de dados de forma persistente

### Descrição

function dba_popen(
string `$path`,
string `$mode`,
?string `$handler` = `null`,
int `$permission` = 0644,
int `$map_size` = 0,
?int `$flags` = `null`
): Dba\Connection|false

dba_popen() estabelece uma instância persistente do banco de dados informado em `path` com o modo definido por `mode` usando o manipulador especificado em `handler`.

### Parâmetros

`path`
  Normalmente um caminho comum no seu sistema de arquivos.
`mode`
  Define os modos: `r` para acesso de leitura, `w` para acesso de leitura/gravação a um baco de dados já existente, `c` para leitura/gravação e criação de banco de dados se ainda não existir, e `n` para criar, truncar e acesso leitura/gravação.
`handler`
  O nome do manipulador que deve ser usado para acessar o arquivo definido em `path`. São passados ​​todos os parâmetros opcionais fornecidos para dba_popen() e pode agir em nome deles. Se `handler` for `null`, o manipulador padrão será invocado.
`permission`
  Parâmetro opcional int que é passado ao driver. Tem o mesmo significado que o parâmetro `permissions` de chmod() (*nix) e o padrão é `0644`. Os drivers `db1`, `db2`, `db3`, `db4`, `dbm`, `gdbm`, `ndbm` e `lmdb` suportam o parâmetro `permission`.
`map_size`
  Parâmetro opcional int que é passado ao driver. Seu valor deve ser um múltiplo do tamanho da página do sistema operacional, ou zero, para usar o tamanho padrão do mapa. Somente o driver `lmdb` aceita o parâmetro `map_size`.
`flags`
  Permite passar opções aos drivers de banco de dados. Atualmente, suporte apenas ao driver LMDB com as opções `DBA_LMDB_USE_SUB_DIR` e `DBA_LMDB_NO_SUB_DIR`.

### Valor Retornado

Retorna uma instância de Dba\Connection em caso de sucesso ou `false` em caso de falha.

### Erros/Exceções

`false` é retornado e um erro de nível `E_WARNING` é emitido quando `handler` for `null` mas não houver manipulador padrão.

### Registro de Alterações

Versão | Descrição
--- | ---
8.4.0 | Retorna agora uma instância de Dba\Connection; anteriormente, retornava um resource.
8.2.0 | `flags` foi adicionado.
8.1.0 | `handler` agora pode ser nulo.
7.3.14, 7.4.2 | O driver `lmdb` agora suporta o parâmetro adicional `map_size`.

### Veja Também

- dba_open() - Abre um banco de dados
- dba_close() - Fecha um banco de dados DBA

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open