Configuration à l'exécution
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
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 |
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 (probablementTRUE
) 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.