Это расширение объявлено устаревшим. Вместо него используйте расширение 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 -i | grep extension_dir extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 => /usr/lib/php/extensions/no-debug-non-zts-20060613
Для автозагрузки расширения при старте PHP, добавьте строку:
extension=mongo.so
Выполните:
$ sudo pecl install mongo
Добавьте следующую строку в файл php.ini:
extension=mongo.so
Если при установке pecl не хватает памяти, убедитесь, что memory_limit в php.ini установлен, как минимум 128MB.
Скомпилированные модули для каждой версии доступны на сайте » 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
В большинстве случаев установка из PECL - самый простой способ:
$ sudo pecl install mongo
Если в вашей системе установлено несколько версий PHP (например, встроенная в macOS, Homebrew, » XAMPP), обратите внимание, что у каждой версии PHP будет своя команда pecl и файл php.ini.
Замечание: Зависимость Xcode для компиляции в macOS
Для компиляции драйвера на macOS потребуются инструменты разработчика Xcode, которые устанавливаются с помощью команды
xcode-select --install
. Если эта команда недоступна, сначала вам понадобится установить пакет » Command Line Tools.
В 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
Включает в себя Fedora и CentOS.
Параметры Apache по умолчанию в этих системах не позволяют запросам устанавливать сетевые подключения, так что при попытке подключения к базе данных драйвер получит ошибку "Доступ запрещен". Если вы столкнулись с этой проблемой, попробуйте выполнить:
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Многие люди создали отличные учебные пособия по установке драйверов PHP.
В этой статье Джастина Хилмана подробно описан процесс установки 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.