我按照以下步骤使用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
有什么想法吗?
感谢你
答案 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文件扩展目录复制到我的父操作系统,现在一切正常!