在Ubuntu上安装带灯的Mongodb(Linux)

时间:2012-02-22 09:22:30

标签: php mongodb xampp lampp

我按照以下步骤使用lampp安装mongo的php驱动程序。

http://abstract2paradox.wordpress.com/2012/01/26/adding-mongo-db-driver-to-xampp/

当我启动lampp时会出现以下错误

警告:PHP启动:无法加载动态库'/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/mongo.so' - / opt / lampp / lib / php / extensions / no-debug-non-zts-20090626 / mongo.so:错误的ELF类:第0行的未知ELFCLASS64

有什么想法吗?

感谢你

2 个答案:

答案 0 :(得分:6)

这意味着您的PHP以32位模式编译,但mongo扩展为64位模式。我相信Apple的编译PHP也是32位模式,您可以通过以下方式验证:

php -r 'echo PHP_INT_MAX, "\n";'

如果显示

9223372036854775807
,则表示您使用的是64位平台。

现在,在您的情况下,您需要确保使用32位体系结构编译MongoDB扩展。来自http://artur.ejsmont.org/blog/content/how-to-build-mongodb-pecl-extension-in-32bit-for-php-52-on-macosx-snow-leaopard我相信你可以这样做:

pecl download mongo
tar -xvzf mongo-1.2.7.tgz
cd mongo-1.2.7

CFLAGS="-m32"

phpize
./configure
make
make install

答案 1 :(得分:0)

问题如上面的Derick概述。虽然解决问题的方法是下载32位版本的ubuntu操作系统并使用vmware在我的电脑上将其作为虚拟机运行。后来跟着这个page上的'手动安装部分'进行了php驱动安装,一切正常。从页面中提到的github获得了php驱动程序。

后来我将文件mongo.so从我的虚拟机上运行的php文件扩展目录复制到我的父操作系统,现在一切正常!