Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Nom | Défaut | Modifiable |
---|---|---|
mongo.allow_empty_keys | false | PHP_INI_ALL |
mongo.allow_persistent | true | PHP_INI_SYSTEM |
mongo.auto_reconnect | true | PHP_INI_SYSTEM |
mongo.chunk_size | 262144 | PHP_INI_SYSTEM |
mongo.cmd | "$" | PHP_INI_ALL |
mongo.default_host | "localhost" | PHP_INI_ALL |
mongo.default_port | 27017 | PHP_INI_ALL |
mongo.is_master_interval | 60 | PHP_INI_ALL |
mongo.long_as_object | false | PHP_INI_ALL |
mongo.native_long | false* | PHP_INI_ALL |
mongo.ping_interval | 5 | PHP_INI_ALL |
mongo.utf8 | "1" | PHP_INI_ALL |
Voici un éclaircissement sur l'utilisation des directives de configuration.
mongo.allow_empty_keys
int
Ajouté en version 1.0.11.
Si les chaînes vides ("") doivent être autorisées comme noms de clés.
Par défaut, le driver émet une exception si vous tentez de passer une
chaîne vide en tant que clé à la base de données. C'est très simple de
le faire sans faire exprès en utilisant les guillemets doubles avec
les $-opérateurs, aussi, il est recommandé de laisser cette option
à sa valeur par défaut. Cependant, si vous avez besoin de sauvegarder
les clés qui sont des chaînes vides, vous pouvez définir cette option
à TRUE
et le driver vous autorisera à passer des chaînes vides à
la base de données.
mongo.allow_persistent
bool
Indique si les connexions persistantes sont autorisées.
mongo.auto_reconnect
bool
S'il faut se reconnecter automatiquement, lorsque la connexion à la base est perdue.
mongo.chunk_size
int
Le nombre d'octets par bloc. Utilisé lors avec les fichiers GridFS. Ce nombre doit être supérieur 4 Mo moins 100 octets (max : 4194204) et il est recommandé qu'il soit plus petit.
mongo.cmd
string
Un caractère à utiliser à la place du caractère $ dans les modificateurs et les comparaisons.
Sachant qu'il est rapide d'oublier d'échapper le caractère "$", vous pouvez également choisir votre propose caractère à utiliser en lieu et place de "$". Choisissez un caractère qui ne peut survenir dans les noms de vos clés, i.e. ":" :
mongo.cmd = ":"
Ensuite, pour effectuer une comparaison, par exemple :
<?php
$query = array( "i" => array( ":gt" => 20, ":lte" => 30 ) );
?>
Vous pouvez également le modifier dans votre code en utilisant ini_set("mongo.cmd", ":"). Évidemment, vous pouvez également utiliser un guillemet simple ou un anti-slash pour échapper le "$".
mongo.default_host
string
Nom d'hôte par défaut lorsqu'aucun nom d'hôte n'est fourni au constructeur.
mongo.default_port
string
Le numéro de port par défaut, à utiliser lors de la connexion à la base de données, si aucun port n'est spécifié. La valeur par défaut est 27017.
mongo.is_master_interval
int
Ajouté en version 1.2.10.
Pour les connexions au jeu de réplications : l'intervalle minimum pour lequel le driver enverra des requêtes "isMaster" au serveur MongoDB. Si la valeur est petite, il y aura plus de requêtes, mais le driver trouvera rapidement que le jeu de réplication a changé.
mongo.long_as_object
string
Retourne un BSON_LONG comme instance de MongoInt64 (à la place du type primitif).
mongo.native-long
int
Le comportement par défaut de ce paramètre sera changé à TRUE
en 2.0.0,
faites attention de bien configurer ce paramètre à la valeur désirée
(probablement TRUE
) ainsi le comportement du pilote ne changera pas
soudainement à la mise à jour.
Sur les plateformes 64-bits, le paramètre mongo.native_long autorise les entiers 64-bits à être stockés dans MongoDB. Sinon, seuls les entiers 32-bits seront sauvés. Dans le cas des long, le type MongoDB BSON LONG est utilisé à la place de BSON INT lorsque ce paramètre est désactivé.
Ce paramètre change aussi la manière dont les BSON LONG se comportent lorsqu'ils sont lus depuis MongoDB. Sans mongo.native_long, le pilote convertira tout BSON LONG en un type double de PHP ce qui peut amener à une perte de précision.
Sur les plateformes 32-bits, le paramètre mongo.native_log ne change rien en ce qui concerne le stockage des entiers dans MongoDB: l'entier est stocké comme un BSON INT comme avant. Cependant, lorsque ce paramètre est activé et qu'un BSON LONG est lu de MongoDB, une MongoCursorException est levée alertant que la donnée n'a pu être lue sans perte de précision.
Sur les systèmes 32-bits particulièrement, il est recommandé de combiner cela avec l'activation de mongo.long_as_object.
mongo.ping_interval
int
Ajouté en version 1.2.10.
Pour les connexions au jeu de réplications : L'intervalle minimum pour lequel le driver enverra des requêtes "ping" au serveur MongoDB. Si la valeur est petite, il y aura plus de pings, mais le driver trouvera rapidement qu'un noeud n'est plus disponible depuis le jeu de réplications.
mongo.utf8
int
Si une exception doit être émise lors de l'utilisation de chaînes non encodées UTF-8. Jusqu'à la version 1.0.4, le driver PHP ignorez les chaînes non encodées UTF-8, même si vous n'étiez pas supposés en utiliser. Depuis la version 1.0.4, le driver lance une exception MongoException. Pour faciliter la transition de vos application qui pouvaient insérer des chaînes non encodées UTF-8, vous pouvez désactiver cette option pour émuler l'ancien comportement. Cette option sera supprimée et l'exception toujours lancée pour les chaînes non encodées UTF-8 à partir de la version 1.1.0.