MongoDB的PHP驱动程序可以工作在几乎任何系统上:Windows、Mac OS X、Unix和Linux;大众和罕见的机器;32位和64位的机器;PHP 5.1、5.2和5.3。
此 » PECL 扩展未与 PHP 捆绑。 这个页面包含了安装在不同系统上的更多具体信息,以及用户遇上的问题和疑难解答。
执行:
$ sudo pecl install mongo
如果你使用 CentOS 或者 Redhat, 可以使用 Csoke Arpad 创建的 » 这些发行版的 RPM。
将以下行添加到 php.ini:
extension=mongo.so
如果 pecl 运行时超出了内存限制,请确认在 php.ini 中的 memory_limit 设置不小于 32MB。
驱动开发人员和对最新 bug 修复感兴趣的人,可以从 » Github 上获取最新源码来编译驱动。 前往 Github 并点击 "download" 按钮。然后运行:
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz $ cd mongodb-mongodb-php-driver-<commit_id> $ phpize $ ./configure $ sudo make install
并按以下说明修改 php.ini:
确保 extension_dir 变量指向了 mongo.so 的位置。 编译时会显示安装 PHP 驱动的位置,输出看上去就比如:
Installing '/usr/lib/php/extensions/no-debug-zts-20060613/mongo.so'
$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/no-debug-zts-20060613 => /usr/lib/php/extensions/no-debug-zts-20060613
要在 PHP 启动的时候加载这个扩展,添加一行:
extension=mongo.so
如果你的系统无法找到 autoconf,你需要安装 Xcode(在你的安装DVD里,或者在苹果网站上免费下载)。
如果你在使用 XAMPP,你也许可以通过以下指令编译驱动:
sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
如果你正在使用 MAMP(或者是 XAMPP,并且上面的命令没起作用),已经编译好的二进制文件可以从 » Github 下载(下载名称含有「osx」、匹配你 PHP 版本的那个)。从压缩包中解压 mongo.so 并添加它到 MAMP 或 XAMPP的扩展目录。 添加
extension=mongo.so
Gentoo 有一个 PHP 驱动的包,叫做 dev-php5/mongo,可以通过以下命令安装:
$ sudo emerge -va dev-php5/mongo
如果你使用了 PECL,你可能得到 libtool 版本不正确的错误。 从源码编译,你需要运行 aclocal 和 autoconf。
$ phpize && aclocal && autoconf && ./configure && make && make install
这包含了 Fedora 和 CentOS。
这些系统上默认的 Apache 设置禁止请求产生网络连接,意味着当连接到数据库,驱动会得到一个 "Permission denied" 错误。当你遇上这个问题,可以试试运行:
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
已编译好的每个版本的二进制文件可以从 » Github 上获取到,包括了不同版本、线程安全、 VC 库。 解压并把 php_mongo.dll 放到你的 PHP 扩展目录(默认是 "ext")。
最新的(非发布的)代码会在每次提交的时候编译成 Windows 二进制文件。Zip 包含有 php_mongo.dll 和 一个 version.txt。 请保留你的 version.txt,这样当你遇上问题时,你可以告诉开发人员你所使用的版本。(数字很长并且看上去无意义的,但是对开发人员是有意义的!)
获取最新的漏洞修复(以及可能的漏洞),下载对应你安装的 PHP 版本的二进制文件:
并添加下面这行到你的 php.ini 文件:
extension=php_mongo.dll
很多人创建了安装 PHP 驱动的极好教程。
» (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.