Установка

Внимание

Это расширение объявлено устаревшим. Вместо него используйте расширение MongoDB.

Драйвер MongoDB работает практически на любой операционной системе: Windows, macOS, Unix, и Linux; на машинах с порядком от младшего к старшему и от старшего к младшему; на 32- и 64-разрядных машинах; с версиями PHP от 5.3 до 5.6 (версии драйвера до 1.6 также работают с PHP 5.2).

Это расширение » PECL не поставляется вместе с PHP.

Ручная установка

Разработчики драйверов и люди, заинтересованные в самых свежих версиях, могут собрать его из исходных кодов, которые находятся на » Github. Перейдите на Github, затем нажмите кнопку "download" и выполните команды:

$ tar zxvf mongo-php-driver-legacy-<commit_id>.tar.gz
$ cd mongo-php-driver-legacy-<commit_id>
$ phpize
$ ./configure
$ make all
$ sudo make install

Внесите изменения в php.ini:

  • Убедитесь, что переменная extension_dir указывает на каталог, содержащий mongo.so. Установщик покажет путь, где он устанавливает драйвер, показав примерно следующее:

    Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/mongo.so'
    Убедитесь, что он совпадает с каталогом расширений PHP, выполнив:
    $ php -i | grep extension_dir
      extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                       /usr/lib/php/extensions/no-debug-non-zts-20060613
    Если это не так, измените extension_dir в php.ini или переместите mongo.so.

  • Для автозагрузки расширения при старте PHP, добавьте строку:

    extension=mongo.so

Установка на *NIX

Выполните:

$ sudo pecl install mongo

Добавьте следующую строку в файл php.ini:

extension=mongo.so

Если при установке pecl не хватает памяти, убедитесь, что memory_limit в php.ini установлен, как минимум 128MB.

Установка на Windows

Скомпилированные модули для каждой версии доступны на сайте » PECL для всех комбинаций версий, потокобезопасности и библиотек VC. Разархивируйте загруженный модуль и скопируйте php_mongo.dll директорию с расширениями PHP (по умолчанию "ext").

Добавьте следующую строку в php.ini:

extension=php_mongo.dll

Замечание: Дополнительные зависимости DLL для пользователей Windows

Для работы этого расширения системной переменной Windows PATHдолжны быть доступны DLL-файлы. Чтобы узнать как этого достичь, обратитесь к разделу FAQ "Как добавить мою директорию с PHP в переменную Windows PATH". Хотя копирование DLL-файлов из директории PHP в системную папку Windows также решает проблему (потому что системная директория по умолчанию находится в переменной PATH), это не рекомендуется. Этому расширению требуются следующие файлы в переменной PATH: libsasl.dll

macOS

В большинстве случаев установка из PECL - самый простой способ:

$ sudo pecl install mongo

Если в вашей системе установлено несколько версий PHP (например, встроенная в macOS, Homebrew, » XAMPP), обратите внимание, что у каждой версии PHP будет своя команда pecl и файл php.ini.

Замечание: Зависимость Xcode для компиляции в macOS

Для компиляции драйвера на macOS потребуются инструменты разработчика Xcode, которые устанавливаются с помощью команды xcode-select --install. Если эта команда недоступна, сначала вам понадобится установить пакет » Command Line Tools.

Gentoo

В Gentoo есть пакет для драйвера PHP PECL под названием dev-php/pecl-mongo, который можно установить с помощью команды:

$ sudo emerge -va dev-php/pecl-mongo

Если вы используете PECL, то можете получить сообщение об ошибке, что libtool неправильной версии. Компиляция из исходного кода вам понадобится для запуска aclocal и autoconf.

$ phpize
$ aclocal 
$ autoconf 
$ ./configure
$ make
$ sudo make install

Red Hat

Включает в себя Fedora и CentOS.

Параметры Apache по умолчанию в этих системах не позволяют запросам устанавливать сетевые подключения, так что при попытке подключения к базе данных драйвер получит ошибку "Доступ запрещен". Если вы столкнулись с этой проблемой, попробуйте выполнить:

$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Затем перезапустите Apache. (Эта проблема также возникает с SELinux.)

Инструкции по установке сторонних производителей

Многие люди создали отличные учебные пособия по установке драйверов PHP.

  • »  (Re)installing PHP on macOS

    В этой статье Джастина Хилмана подробно описан процесс установки PHP и дополнительных расширений с помощью Homebrew на macOS. Это дополняет предыдущие инструкции на этой странице по установке драйвера с помощью Homebrew.

  • »  PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2

    Этот скринкаст Джона Адамса демонстрирует, как быстро начать работу с PHP 5.3.1, Xdebug и MongoDB в Ubuntu 9.10 с Apache.