For Debian users: apt-get install php5-dev will install phpize for you.
This extension is deprecated. Instead, the MongoDB extension should be used.
The MongoDB PHP driver should work on nearly any system: Windows, Mac OS X, Unix, and Linux; little- and big-endian machines; 32- and 64-bit machines; PHP 5.3 through 5.6 (versions prior to 1.6 also support PHP 5.2).
이 » PECL 확장은 PHP 배포판에서 제공하지 않습니다.
For driver developers and people interested in the latest bugfixes, you can compile the driver from the latest source code on » Github. Go to Github and click the "download" button. Then run:
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz $ cd mongodb-mongodb-php-driver-<commit_id> $ phpize $ ./configure $ make all $ sudo make install
Make the following changes to php.ini:
Make sure the extension_dir variable is pointing to the directory containing mongo.so. The build will display where it is installing the PHP driver with output that looks something like:
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
To load the extension on PHP startup, add a line:
extension=mongo.so
Run:
$ sudo pecl install mongo
If you are using CentOS or Redhat, you may wish to install from an » RPM.
Add the following line to your php.ini file:
extension=mongo.so
If pecl runs out of memory while installing, make sure memory_limit in php.ini is set to at least 128MB.
Precompiled binaries for each release are available from » PECL for a variety of combinations of versions, thread safety, and VC libraries. Unzip the archive and put php_mongo.dll in your PHP extension directory ("ext" by default).
Add the following line to your php.ini file:
extension=php_mongo.dll
Note: Additional DLL dependencies for Windows Users
이 확장이 동작하려면, DLL 파일이 윈도우 시스템 PATH에 존재하여야 합니다. 이를 위한 정보는, "윈도우에서 PHP 디렉토리를 PATH에 추가하기"에 관한 FAQ을 참고하십시오. DLL 파일을 PHP 폴더에서 윈도우 시스템 디렉토리로 복사하여도 작동하지만(시스템 디렉토리는 기본적으로 시스템 PATH에 존재하기 때문), 권장하지 않습니다. 이 확장은 다음 파일이 PATH 상에 존재하여야 합니다: libsasl.dll
In most cases installing from pecl is the easiest way:
$ sudo pecl install mongo
If you are using » Homebrew, the PHP tap includes formulae for the driver. For example, you might install the driver for PHP 5.6 using the following command:
$ brew install php56-mongo
If you are using » XAMPP, note that it has its own pecl binary and php.ini configuration. You should be able to install the driver with the following command:
$ sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
Note: Xcode dependency for compiling on OS X
Compiling the driver on OS X will require Xcode developer tools, which may be installed with
xcode-select --install
. If that command is not available, you may first need to install the » Command Line Tools package.
Gentoo has a package for the PHP PECL driver called dev-php/pecl-mongo, which can be installed with:
$ sudo emerge -va dev-php/pecl-mongo
If you use PECL, you may get an error that libtool is the wrong version. Compiling from source you'll need to run aclocal and autoconf.
$ phpize $ aclocal $ autoconf $ ./configure $ make $ sudo make install
This includes Fedora and CentOS.
The default Apache settings on these systems do not let requests make network connections, meaning that the driver will get "Permission denied" errors when it tries to connect to the database. If you run into this, try running:
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
A number of people have created excellent tutorials on installing the PHP driver.
» (Re)installing PHP on Mac OS X
This article by Justin Hileman details the process of installing PHP and additional extensions with Homebrew on OS X. This complements the earlier instructions on this page for installing the driver with Homebrew.
» PHP 5.3.1 with Xdebug, MongoDB and Lithium on Ubuntu 9.10 / Apache 2.2
This screencast by Jon Adams demonstrates how to quickly get up and running with PHP 5.3.1, Xdebug, and MongoDB on Ubuntu 9.10 with 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).