Ubuntu 安装 PHP MongoDB 扩展的正确方式
在 Ubuntu 环境下开发 PHP 应用时,连接 MongoDB 数据库需要安装对应的扩展。虽然旧版文档常推荐从 PECL 下载源码包手动编译,但现代 Linux 发行版通常提供包管理器支持或更简便的 PECL CLI 工具。本文将介绍通过源码编译安装 PHP MongoDB 扩展的具体操作步骤。
准备条件
在进行安装前,请确保您的 Ubuntu 系统已满足以下条件:
- PHP 环境:已安装 PHP 及其开发头文件(通常是
php-dev和php-pear包)。 - 构建工具:系统中需安装编译器(如
build-essential)。 - MongoDB C 库:部分扩展依赖底层的 C 驱动程序。建议先安装
libmongoc相关库,若使用新版扩展则可能需要libmongocrypt等。
官方推荐的 PECL 安装法
目前 PHP 社区维护的 MongoDB 扩展名为 mongodb,而非旧的 mongo。建议使用以下命令直接安装:
sudo pecl install mongodb
安装完成后,根据提示在 php.ini 中添加 extension=mongodb.so,然后重启 Web 服务器(如 Nginx/Apache)或 PHP-FPM 服务。
从源码手动编译安装步骤
如果您需要特定版本的旧式 mongo 扩展(注意:该扩展已过时,仅限兼容老旧项目),或希望完全掌控编译过程,可参考以下操作顺序。
第1步:获取扩展源码
进入终端,使用 wget 下载指定版本的源码压缩包。例如下载版本 1.6.9:
$ wget -c https://pecl.php.net/get/mongo-1.6.9.tgz
第2步:解压并进入目录
解压下载的 tarball 并切换至源码目录:
$ tar zxvf mongo-1.6.9.tgz
$ cd mongo-1.6.9
第3步:初始化 PHP 配置脚本
运行 phpize 来生成 configure 脚本,确保其与当前安装的 PHP 版本匹配:
$ phpize
第4步:配置与编译
执行配置、编译及测试命令。此过程可能需要 root 权限进行安装:
$ ./configure
$ make all
$ make test
$ sudo make install
注意:make test 可选,但在生产环境中建议跳过以确保时间效率,除非您正在排查安装问题。make install 会将生成的 .so 文件复制到 PHP 的扩展目录。
启用扩展与验证
编译安装完成后,扩展文件并未自动生效。您需要编辑 PHP 配置文件(通常位于 /etc/php/7.x/cli/php.ini 或 /etc/php/7.x/apache2/php.ini,具体视 PHP 版本和 SAPI 而定)。
- 在文件中添加一行:
extension=mongo.so(对于新版扩展则为extension=mongodb.so)。 - 保存文件并退出。
- 重启 Web 服务器或 PHP 处理进程。
最后,创建一个包含 的 PHP 文件并在浏览器访问,查看是否出现了 Mongo 或 MongoDB 模块区块,以确认安装成功。
常见问题排错
- 找不到 mongo.h 或 libbson 文件:这通常意味着缺少底层 C 库依赖。在 Ubuntu 上可以尝试安装
libssl-dev和libcurl4-openssl-dev。 - 权限不足:在执行
sudo make install时务必加上 sudo,否则可能无法写入 PHP 扩展目录。
以上就是 Ubuntu 下安装 PHP MongoDB 扩展的详细内容,更多关于 PHP 数据库集成的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









