========================= Install the |php-library| ========================= .. default-domain:: mongodb .. contents:: On this page :local: :backlinks: none :depth: 2 :class: singlecol The |php-library| is a high-level abstraction for the `PHP driver `_ (i.e. ``mongodb`` extension). This page will briefly explain how to install both the ``mongodb`` extension and the |php-library|. Installing the Extension ------------------------ Linux, Unix, and macOS users can either :php:`install the extension with PECL ` (recommended) or :php:`manually compile from source `. The following command may be used to install the extension with PECL: .. code-block:: sh sudo pecl install mongodb .. note:: If the build process for either installation method fails to find a TLS library, check that the development packages (e.g. ``libssl-dev``) and `pkg-config `_ are both installed. Once the extension is installed, add the following line to your ``php.ini`` file: .. code-block:: ini extension=mongodb.so Windows users can download precompiled binaries of the extension from `PECL `_. After extracting the ``php_mongodb.dll`` file to PHP's extension directory, add the following line to your ``php.ini`` file: .. code-block:: ini extension=php_mongodb.dll Windows binaries are available for various combinations of PHP version, thread-safety, and architecture. Failure to select the correct binary will result in an error attempting to load the extension DLL at runtime. Additional considerations for Windows are discussed in the :php:`Windows installation documentation `. .. note:: If your system has multiple versions of PHP installed, each version will have its own ``pecl`` command and ``php.ini`` file. Additionally, PHP may also use separate ``php.ini`` files for its web and CLI environments. If the extension has been installed but is not available at runtime, double-check that you have used the correct ``pecl`` command (or binary in the case of Windows) and have modified the appropriate ``php.ini`` file(s). Installing the Library ---------------------- The preferred method of installing the |php-library| is with `Composer `_ by running the following command from your project root: .. code-block:: sh composer require mongodb/mongodb While not recommended, you may also manually install the library using a source archive attached to the `GitHub releases `_. Configure Autoloading ~~~~~~~~~~~~~~~~~~~~~ Once you have installed the library, ensure that your application includes Composer's autoloader as in the following example: .. code-block:: php `_ for more information about setting up autoloading. If you installed the library manually from a source archive, you will need to manually configure autoloading: #. Map the top-level ``MongoDB\`` namespace to the ``src/`` directory using your preferred autoloader implementation. #. Manually require the ``src/functions.php`` file. This is necessary because PHP does not support autoloading for functions.