编译 PHP 扩展时出错

编译 PHP 扩展时出错

我正在尝试安装一个用 c 编写的 php 扩展并使用 MongoDB c 驱动程序。

过去两天我一直在尝试编译和安装该扩展,但是却出现了同样的错误。

 /usr/bin/ld: /usr/local/lib/libmongoc.a(bson.o): relocation R_X86_64_32S against `bson_numstrs' can not be used when making a shared object; recompile with -fPIC
    /usr/local/lib/libmongoc.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make: *** [thaps.la] Error 1

完整日志可以在 pastbin 找到:http://pastebin.com/iqpqHYpm

我尝试安装的扩展位于 bitbucket:https://bitbucket.org/heinep/thaps

我正在使用 php 5.4 和 zend 2.4 apache 2.2 MongoDB c 驱动程序 v0.5 ubuntu 12.04 64 位

答案1

您需要安装 MongoDB 服务器,而不是驱动程序。还请安装mongodb-dev软件包,因为可能需要额外的开发头文件/文件。如果您需要更多帮助;文档位于mongodb.org提供详细说明在 Ubuntu 上安装&PHP 驱动程序

sh ~> sudo apt-get install mongodb-server mongodb-dev
sh ~> sudo pecl install mongo

php5-mongo也可以通过 Ubuntu 的包管理器获得。

sh ~> sudo apt-get install php5-mongo

相关内容