Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration Mongo
Nom Défaut Modifiable Historique
mongo.allow_empty_keys 0 PHP_INI_ALL  
mongo.allow_persistent 1 PHP_INI_ALL Supprimé en 1.2.0
mongo.chunk_size 262144 PHP_INI_ALL  
mongo.cmd "$" PHP_INI_ALL  
mongo.default_host "localhost" PHP_INI_ALL  
mongo.default_port 27017 PHP_INI_ALL  
mongo.is_master_interval 15 PHP_INI_ALL Ajouté en 1.2.10, avant 1.3.0, la valeur par défaut était de 60.
mongo.long_as_object 0 PHP_INI_ALL  
mongo.native_long 0* PHP_INI_ALL  
mongo.ping_interval 5 PHP_INI_ALL Ajouté en 1.2.10
mongo.utf8 1 PHP_INI_ALL  
Pour plus de détails sur les modes PHP_INI_*, reportez-vous à Où une directive de configuration peut être modifiée.

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 int

Indique si les connexions persistantes sont autorisées (supprimé en 1.2.0 - toutes les connexions sont maintenant persistentes).

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. ":" :

<?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 int

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 ignorait 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 applications 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.

LoadingChargement en cours