mongo-php-configuration-1

  • Installing/Configuring
  • Runtime Configuration

  • Runtime Configuration
  • Runtime Configuration

    Runtime Configuration

    The behaviour of these functions is affected by
    settings in php.ini.

    Mongo Configure Options
    Name Default Changeable Changelog
    mongo.allow_empty_keys 0 PHP_INI_ALL  
    mongo.allow_persistent 1 PHP_INI_ALL Removed in 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 Added in 1.2.10, before 1.3.0 the default value was 60.
    mongo.long_as_object 0 PHP_INI_ALL  
    mongo.native_long 1 PHP_INI_ALL Before 1.5.0, the default value was 0.
    mongo.ping_interval 5 PHP_INI_ALL Added in 1.2.10
    mongo.utf8 1 PHP_INI_ALL  

    For further details and definitions of the PHP_INI_* modes, see the
    Where a
    configuration setting may be set
    .

    Here’s a short explanation of the configuration
    directives.

    mongo.allow_empty_keys int

    Added in version 1.0.11.

    If empty strings (“”) should be allowed as key
    names. By default, the driver will throw an exception if you
    attempt to pass the empty string as a key to the database. It is
    extremely easy to do this inavertently by using double quotes with
    $-operators, so it is recommended that you leave this setting as
    default. However, if you need to save keys that are empty strings,
    you can set this option to true and the driver will allow you to
    pass empty strings to the database.

    mongo.allow_persistent int

    If persistent connections are allowed. (Removed in
    1.2.0 – all connections are now persistent).

    mongo.chunk_size int

    The number of bytes-per-chunk. Used in divvying up
    GridFS files. This number must be at least 100 less than 4
    megabytes (max: 4194204) and it is recommended that it be less than
    that.

    mongo.cmd
    string

    A character to be used in place of $ in modifiers
    and comparisons.

    As it is easy to forget to escape the “$”, you can
    also choose your own special character to use instead of ‘$’.
    Choose a character that will not occur in your key names, e.g.
    “:”:

    mongo.cmd = ":"
    

    Then, to do a comparison, for example:

    <?php

    $query = array( "i" => array( ":gt" => 20":lte" => 30 ) );

    ?>

    You can also change it in your code using
    ini_set(“mongo.cmd”, “:”). Of course, you can also just
    use single quotes or backslash-escape the $.

    mongo.default_host string

    Default hostname when nothing is passed to the
    constructor.

    mongo.default_port string

    The default TCP port number to use when connecting
    to the database server if no other port is specified. The
    database’s default is 27017.

    mongo.is_master_interval int

    Added in version 1.2.10.

    For replicaset connections: The minimum interval
    with which the driver will send “isMaster” requests to the MongoDB
    server. If the value is lower, there will be more requests, but the
    driver finds faster whether the topology of the replicaset has been
    changed.

    mongo.long_as_object int

    Return a BSON_LONG as an instance of MongoInt64 (instead
    of a primitive type).

    mongo.native_long int

    The default behavior for this
    has been changed to TRUE in 1.5.0, so
    make sure to set this variable to the value you want (probably
    TRUE) so that the driver’s behavior
    doesn’t suddenly change when you upgrade.

    On 64-bit platforms, the mongo.native_long
    setting allows for 64-bit integers to be stored in MongoDB. If it
    is not set, only 32-bits of the integer will be saved. The MongoDB
    data type that is used in this case is the BSON LONG, instead of
    the BSON INT that is used if this setting is turned off.

    The setting also changes the way how BSON LONGs
    behave when they are read back from MongoDB. Without
    mongo.native_long enabled, the driver would convert every
    BSON LONG to a PHP double which can result in a loss of
    precision.

    On 32-bit platforms, the mongo.native_long
    setting changes nothing for storing integers in MongoDB: the
    integer is stored as a BSON INT as before. However, when the
    setting is enabled and a BSON LONG is read from MongoDB a MongoCursorException is thrown alerting you that
    the data could not be read back without losing precision.

    On 32-bit systems especially, it is recommended
    that you combine this with enabling
    mongo.long_as_object.

    mongo.ping_interval int

    Added in version 1.2.10.

    For replicaset connections: The minimum interval
    with which the driver will send “ping” requests to the MongoDB
    server. If the value is lower, there will be more pings, but the
    driver finds faster whether a node is no longer reachable from the
    replicaset.

    mongo.utf8
    int

    If an exception should be thrown for non-UTF8
    strings. Until version 1.0.4, the PHP driver would ignore non-UTF8
    strings, even though you’re not supposed to insert them. As of
    1.0.4, the driver throws a MongoException. To ease the transition for
    applications that insert non-UTF8 strings, you can turn this option
    off to emulate the old, non-exception-throwning behavior. This
    option will be eliminated and exceptions always thrown for non-UTF8
    strings starting with version 1.1.0.