For Debian users: apt-get install php5-dev will install phpize for you.
Это расширение объявлено устаревшим. Вместо него используйте расширение 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.
For Debian users: apt-get install php5-dev will install phpize for you.
Instructions for Manually Installing MongoDB for PHP for use with "XAMPP for Linux":
There were two gotchas that I ran into. "XAMPP for Linux" needs 32 bit libraries, and the php API version must match the php API version of "XAMPP for Linux".
Hopefully this will save someone else time figuring this all out!
1) Install "XAMPP for Linux" AND the "XAMPP for Linux Development Files".
2) Grab the source code from github (in the manual instructions above)
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
There are now some smalls deviation from the manual instructions...
3) PHPize
$ sudo /opt/lampp/bin/phpize
4) Configure
$ ./configure
5) Make changes to the Makefile (XAMPP requires a 32-bit compilation)
- Choose your favorite text editor and open "Makefile"
- Make the following changes:
Line 20: prefix = /opt/lampp
Line 23: prefix = /opt/lampp
Line 25: phpincludedir = /opt/lampp/include/php
Line 27: CFLAGS = -g -O2 -m32
Line 34: EXTENSION_DIR = /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/
Line 35: PHP_EXECUTABLE = /opt/lampp/bin/php
Make sure you replace </path/to/mongo-php-driver-master>
Line 38: INCLUDES = -I/opt/lampp/include/php -I/opt/lampp/include/php/main -I/opt/lampp/include/php/TSRM -I/opt/lampp/include/php/Zend -I/opt/lampp/include/php/ext -I/opt/lampp/include/php/ext/date/lib -I</path/to/mongo-php-driver-master>/util -I</path/to/mongo-php-driver-master>/exceptions -I</path/to/mongo-php-driver-master>/gridfs -I</path/to/mongo-php-driver-master>/types -I</path/to/mongo-php-driver-master>/mcon
6) Compile
$ sudo make all
7) Copy the static object into the extension directory
$ sudo cp modules/mongo.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/
9) Update your php.ini file
- Grab you favorite text editor and open /opt/lampp/etc/php.ini (you'll probably need to use sudo).
- Add the line: extension=mongo.so
10) Restart "XAMPP for Linux". You should now be able to see Mongo listed in your phpinfo() page! Installation Complete!!!
Good Luck!
On windows installation check for VC compilator version inside phpinfo(), if you install incorrect one it wouldn't work.
I tried to run on Apache2 with VC6, and always get folowing error:
Fatal error: Class 'Mongo' not found
Until I look into phpinfo and found MSVC9, after that
I install VC9 dll files and it solve the problem.
To install the Mongo driver on Windows 7 x64 with EasyPHP, you have to use the x86 driver (instead of x64) and non nts :
php_mongo-1.3.2RC1-5.4-vc9.dll actually
If you're running IIS under Windows 7 and have PHP manager installed you'll also need to manually enable the extension. Start IIS Manager, select PHP Manager, under the section labeled PHP Extensions click on Enable or disable an extension, then enable the php_mongo.dll extension, and restart IIS.
Apache 2.4.10 win32 from apachelounge with php 5.6.4 VC11 x86 Thread Safe on windows7 sp1.
The 5.6 Thread Safe (TS) x86 mongo.dll i downloaded from http://pecl.php.net/package/mongo/1.5.8/windows
I kept getting the following error
PHP Startup: Unable to load dynamic library mongo.dll
The specified module could not be found.
I fixed this by adding the php and the php/ext to the windows path and rebooting(log off didn't cut it).