/mongo-php-library

The Official MongoDB PHP library

Primary LanguagePHPApache License 2.0Apache-2.0

MongoDB PHP Library

Tests Coding Standards

This library provides a high-level abstraction around the lower-level PHP driver (mongodb extension).

While the extension provides a limited API for executing commands, queries, and write operations, this library implements a full-featured API similar to that of other MongoDB drivers. It contains abstractions for client, database, and collection objects, and provides methods for CRUD operations and common commands (e.g. index and collection management).

If you are developing an application with MongoDB, you should consider using this library, or another high-level abstraction, instead of the extension alone.

Additional information about the architecture of this library and the mongodb extension may be found in Architecture Overview.

Documentation

Installation

The preferred method of installing this library is with Composer by running the following from your project root:

$ composer require mongodb/mongodb

Additional installation instructions may be found in the library documentation.

Since this library is a high-level abstraction for the driver, it also requires that the mongodb extension be installed:

$ pecl install mongodb
$ echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

Additional installation instructions for the extension may be found in its PHP.net documentation.

Reporting Issues

Issues pertaining to the library should be reported in the PHPLIB project in MongoDB's JIRA. Extension-related issues should be reported in the PHPC project.

For general questions and support requests, please use one of MongoDB's Technical Support channels.

Security Vulnerabilities

If you've identified a security vulnerability in a driver or any other MongoDB project, please report it according to the instructions in Create a Vulnerability Report.

Development

Development is tracked in the PHPLIB project in MongoDB's JIRA. Documentation for contributing to this project may be found in CONTRIBUTING.md.