Version Compatibility
The PHP library uses the PHP extension to compress network traffic. The following table lists the minimum PHP extension and MongoDB Server version required for each compression algorithm:
Enable Network Compression
To enable network compression for your MongoDB connection, install the required dependencies and specify the compression algorithms that you want to use.
Install Dependencies
Because the PHP extension uses the MongoDB C driver to implement network compression, you must install the required dependencies for the C driver. To view these dependencies, see Install Dependencies in the C driver documentation.
Specify Compression Algorithms
To enable compression for the connection to your MongoDB deployment, use the compressors connection option and specify the compression algorithms you want to use. You can do this in two ways:
Pass the algorithms as an argument to the
MongoDB\Clientconstructor.Specify the algorithms in your connection string.
The following example shows how to specify Snappy, Zlib, and Zstandard as the compressors for a connection. Select the MongoDB\Client or Connection URI tab to see the corresponding code:
$client = new MongoDB\Client( 'mongodb://<hostname>:<port>', ['compressors' => 'snappy,zstd,zlib'], );
$uri = 'mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib'; $client = new MongoDB\Client($uri);
Specify the Zlib Compression Level
If you specify Zlib as one of your compression algorithms, you can also use the zlibCompressionLevel option to specify a compression level. This option accepts an integer value between -1 and 9:
-1: (Default). zlib uses its default compression level (usually
6).0: No compression.
1: Fastest speed but lowest compression.
9: Best compression but slowest speed.
The following example specifies the zlib compression algorithm and a zlibCompressionLevel value of 1. Select the MongoDB\Client or Connection URI tab to see the corresponding code:
$uriOptions = [ 'compressors' => 'zlib', 'zlibCompressionLevel' => 1, ]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>', $uriOptions, );
$uri = 'mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1'; $client = new MongoDB\Client($uri);
API Documentation
To learn more about the MongoDB\Client class, see MongoDB\Client in the library API documentation.
To view a full list of URI options that you can pass to a MongoDB\Client, see the MongoDB\Driver\Manager::__construct parameters in the extension API documentation.