Опции php.ini
Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
mongo.allow_empty_keys | 0 | PHP_INI_ALL | |
mongo.allow_persistent | 1 | PHP_INI_ALL | Удалено в 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 | Добавлено в версии 1.2.10, до 1.3.0, значение по умолчанию 60. |
mongo.long_as_object | 0 | PHP_INI_ALL | |
mongo.native_long | 1 | PHP_INI_ALL | До версии 1.5.0, значение по умолчанию 0. |
mongo.ping_interval | 5 | PHP_INI_ALL | Добавлено в версии 1.2.10 |
mongo.utf8 | 1 | PHP_INI_ALL |
Краткое разъяснение конфигурационных директив.
-
mongo.allow_empty_keys
int -
Добавлено в версии 1.0.11.
Разрешить использование пустых строк ("") в качестве ключевых имен. По умолчанию драйвер будет бросать исключение при попытке установки пустой строки в качестве ключа в базе данных. Это очень легко допустить используя двойные кавычки с $-оператором, так что рекомендуется оставить этот параметр по умолчанию. Однако, если вам нужно хранить пустые ключи, вы можете включить эту опцию, чтобы драйвер позволил вам передать пустые строки в базу данных.
-
mongo.allow_persistent
int -
Разрешены ли постоянные соединения. (Удалено в 1.2.0 - теперь все соединения постоянны)
-
mongo.chunk_size
int -
Количество байт в фрагменте. Используется для разделения файлов GridFS. Это число должно быть как минимум на 100 байт меньше четырех мегабайт (максимум: 4194204 байт), но рекомендуется не использовать максимальное значение.
-
mongo.cmd
string -
Символ, который будет использоваться в модификаторах и сравнениях вместо $.
Так как легко можно забыть экранировать "$", вы можете выбрать свой собственный символ для экранирования. Выбирать имеет смысл чимвол, который не встречается в именах ваших ключей, например ":".
mongo.cmd = ":"
Теперь произведем сравнение:
<?php
$query = array( "i" => array( ":gt" => 20, ":lte" => 30 ) );
?>Вы так же можете изменить этот символ используя
ini_set("mongo.cmd", ":")
. Вы так же можете использовать одинарные кавычки или \$. -
mongo.default_host
string -
Имя хоста по умолчанию. Оно используется, если небыло задано в конструкторе.
-
mongo.default_port
string -
Порт, который будет использоваться для соединения с базуой данных, если он небыл указан в конструкторе. По умолчанию установлено как
27017
. -
mongo.is_master_interval
int -
Добавлено в версии 1.2.10.
Для соединения с репликой: Минимальный интервал, с которым драйвер будет посылать запросы "isMaster" на сервер MongoDB. Чем ниже будет эта величина, тем чаще будут отправляться такие запросы, но и тем быстрее драйвер будет обнаруживать изменения в топологии репликации.
-
mongo.long_as_object
int -
Возвращает BSON_LONG как экземпляр MongoInt64, а не как примитивный тип.
-
mongo.native-long
int -
Значение по умолчанию для этой опции будет изменен на
true
в 1.5.0, так что обязательно установите эту опцию в значение, которое вы хотите (вероятноtrue
), чтобы работа драйвера внезапно не изменилась при обновлении.На 64-битных платформах, опция
mongo.native_long
позволяет хранить 64-битные целые числа в MongoDB. Если данная опция не установлена, храниться будут только 32-битные числа. Если опция включена, тип данных в MongoDB будет BSON LONG, а не BSON INT, как в случае выключения данной опции.Эта опция также меняет поведение при чтении полей BSON LONG из MohdoDB. Если
mongo.native_long
не будет разрешена, драйвер преобразует каждое BSON LONG в PHP тип float, что может привести к потере точности.На 32-битных платформах, опция
mongo.native_long
не влияет на хранение целочисленных значений в MongoDB: целые будут храниться как BSON INT как и раньше. Однако, если этот параметр будет включен, при попытке прочитать BSON LONG из базы, будет вызвано исключение MongoCursorException, предупреждая о возможной потере точности.Для 32-битных систем рекомендуется использовать эту настройку совместно с
mongo.long_as_object
. -
mongo.ping_interval
int -
Добавлено в версии 1.2.10.
Для соединения с репликой: Минимальный интервал, с которым драйвер будет посылать запросы "ping" на сервер MongoDB. Чем ниже будет эта величина, тем чаще будут отправляться такие запросы, но и тем быстрее драйвер будет обнаруживать недоступность реплики.
-
mongo.utf8
int -
Включает вызов исключений при получении не-UTF8 строки. До версии 1.0.4, PHP драйвер проигнорирует не UTF8 строки, даже если вы отключили работу с ними в Mongo. По состоянию на 1.0.4, драйвер выдает MongoException . Для облегчения перехода на новую версию драйвера приложений которые вставляют не UTF8 строки, в таблицы вы можете отключить эту опцию, чтобы съэмитировать работу предыдущей версии, без вызова исключений. Эта опция пропадет начиная с версии 1.1.0 и исключения будут всегда вызываться при попытки вставить не-UTF8 строки.