MongoDB 的 PHP 驱动程序可以工作在几乎任何系统上:Windows、Mac OS X、Unix 和 Linux;大端或小端字节序(little/big-endian);32位和64位的机器;PHP 5.3-5.6(1.6之前的版本同时支持 PHP5.2)。
此 » PECL 扩展未与 PHP 捆绑。
驱动开发人员和对最新 bug 修复感兴趣的人,可以从 » Github 上获取最新源码来编译驱动。 前往 Github 并点击 "download" 按钮。然后运行:
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz $ cd mongodb-mongodb-php-driver-<commit_id> $ phpize $ ./configure $ make all $ sudo make install
并按以下说明修改 php.ini:
确保 extension_dir 变量指向了 mongo.so 的位置。 编译时会显示安装 PHP 驱动的位置,比如输出:
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
如果使用了 CentOS 或 Redhat, 可以从 » RPM 安装。
将以下内容添加到 php.ini 文件:
extension=mongo.so
如果 pecl 运行时超出了内存限制,请确认在 php.ini 中的 memory_limit 的设置至少有 128MB。
针对不同线程安全、VC版本的 PHP 发行版,可从 » PECL 获取到预编译的二进制文件。 解压,并把 php_mongo.dll 放到 PHP 扩展目录(默认是 "ext")。
将以下内容添加到 php.ini 文件:
extension=php_mongo.dll
Note: 为 Windows 用户添加额外的依赖 DLL
为了使此扩展生效, DLL 文件必须能在 Windows 系统的 PATH 指示的路径下找到。如何操作的信息,请参见题为"如何在 Windows 中将 PHP 目录加到 PATH 中"的FAQ。虽然将 DLL 文件从 PHP 文件夹复制到 Windows 系统目录也行,但不建议这样做。 此扩展需要下列文件在 PATH 路径中: libsasl.dll
大部分情况下,从 pecl 安装最简单:
$ sudo pecl install mongo
如果用的是 » Homebrew,PHP 包含了驱动安装的方案。比如,安装 PHP 5.6 的驱动,可以使用以下命令:
$ brew install php56-mongo
如果使用的是 » XAMPP,请注意它有自己的 pecl 二进制文件和 php.ini 配置。 你可以通过以下命令安装驱动:
$ sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
Note: 在 OS X 上编译时的 Xcode 依赖
在 OS X 上编译驱动需要 Xcode 开发工具,可以通过
xcode-select --install
安装。 如果命令无效,也许应该先安装 » Command Line Tools 包。
Gentoo 有一个 PHP 驱动的包,叫做 dev-php/pecl-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
很多人撰写了安装 PHP 驱动的极好教程。
Justin Hileman 撰写的文章详细描述了在 OS X 上使用 Homebrew 安装 PHP 和额外的扩展(extension)。 此文补充了早些时候此页上用 Homebrew 安装驱动的说明。
» Ubuntu 9.10 / Apache 2.2 下,附带 Xdebug, MongoDB 和 Lithium 的 PHP 5.3.1。
Jon Adams 的视频录像演示了如何在 Ubuntu 9.1 的 Apache 下快速设置运行 PHP 5.3.1,Xdebug 和 MongoDB。