(PHP 4, PHP 5, PHP 7, PHP 8)
dba_open — Ouvre une base de données DBA
$path
,$mode
,$handler
= ?,...$args
dba_open() établit une connexion à
la base identifiée par path
avec le
mode mode
et l'identifiant
handler
.
path
Chemin sur votre système de fichiers.
mode
Il vaut r
pour lecture seule, w
pour
lecture/écriture, c
pour lecture/écriture, et
création si la base n'existe pas, et n
pour
création, écrasement et accès en lecture/écriture.
La base de données est créée en mode BTree ; les autres modes (comme Hash ou
Queue) ne sont pas supportés.
De plus, vous pouvez choisir la méthode de verrouillage de la base avec le
caractère suivant. Utilisez l
pour verrouiller la base avec un
fichier .lck, ou d
pour verrouiller
la base elle-même. Il est important que vos application utilisent ces
options de manière cohérente.
Si vous voulez tester la possibilité d'accès, et ne pas attendre la
disponibilité du verrou, vous pouvez ajouter la lettre t
comme troisième caractère. Lorsque vous êtes absolument certain que votre base
ne requière pas de verrou, vous pouvez utiliser le tiret -
à la place de l
ou d
.
Lorsque vous n'utilisez ni d
, ni l
ni
-
, dba va verrouiller en mode d
.
Note:
Il ne peut y avoir qu'un seul type d'écriture dans la base. Lorsque vous utilisez dba sur un serveur web, et que plusieurs requêtes HTTP effectuent des écritures, elles ne peuvent être faites que l'une après l'autre. De même, la lecture durant l'écriture n'est pas possible. L'extension dba utilise un verrou pour éviter ces problèmes. Voici la table de verrouillage :
Verrouillage DBA déjà ouverte mode
= "rl"mode
= "rlt"mode
= "wl"mode
= "wlt"mode
= "rd"mode
= "rdt"mode
= "wd"mode
= "wdt"non-ouverte ok ok ok ok ok ok ok ok mode
= "rl"ok ok attente false
illégal illégal illégal illégal mode
= "wl"attente false
attente false
illégal illégal illégal illégal mode
= "rd"illégal illégal illégal illégal ok ok attente false
mode
= "wd"illégal illégal illégal illégal attente false
attente false
- ok: Le second appel réussit.
- wait: Le second appel attend que dba_close() soit appelé par le premier script.
- false: Le second appel retourne
false
.- illégal: vous ne devez pas mélanger les options
"l"
et"d"
pour le paramètremode
.
handler
Le nom du gestionnaire
qui doit être utilisé pour accéder à path
.
C'est passé à tous les paramètres facultatifs donnés à
dba_open() et peut agir au nom d'eux.
args
Paramètre chaîne de caractères optionnels qui sont transmis au pilote.
Les pilotes cdb
, cdb_make
,
flatfile
, inifile
,
qdbm
et tcadb
ne supportent pas de paramètres additionels.
Les pilotes db1
, db2
,
db3
, db4
, dbm
,
gdbm
, et
ndbm
supportent un paramètre additionel
$filemode
, qui a la même signification que le
paramètre $mode
de chmod(),
et à comme valeur par défaut 0644
.
Le pilote lmdb
supporte deux paramètres additionels.
Le premier permet de définir le $filemode
(voir description ci-dessus), et le second permet de définir la
$mapsize
, dont la valeur devrait être un multiple de
la taille de page du système d'exploitation, ou zéro pour utiliser la
mapsize par défaut.
La paramètre $mapsize
est supporté à partir de
PHP 7.3.14 et 7.4.2, respectivement.
Retourne un gestionnaire positif en cas de succès ou false
si une erreur survient.
Version | Description |
---|---|
7.3.14, 7.4.2 |
Le pilote lmdb supporte désormais un paramètre
additionel $mapsize .
|