在 Ubuntu ( Linux ) 上使用 Lamp 安装 Mongodb
Posted
技术标签:
【中文标题】在 Ubuntu ( Linux ) 上使用 Lamp 安装 Mongodb【英文标题】:Installing Mongodb with Lamp On Ubuntu ( Linux ) 【发布时间】:2012-03-12 14:51:23 【问题描述】:我按照以下步骤使用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
有什么想法吗?
谢谢你
【问题讨论】:
【参考方案1】:这意味着你的 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 下载 mongo tar -xvzf mongo-1.2.7.tgz cd mongo-1.2.7 CFLAGS="-m32" php化 。/配置 制作 进行安装【讨论】:
-thanx,但我使用的是 linux ( Ubuntu ) – Imran Omar Bukhsh 运行 php -r 'echo PHP_INT_MAX, "\n";'给我 2147483647 我需要在最后输入“make install”吗? 嗯,是的,你需要make install 问题依然存在【参考方案2】:问题如上面 Derick 所述。虽然问题得到解决的方法是下载 32 位版本的 ubuntu 操作系统并使用 vmware 在我的电脑上将其作为虚拟机运行。后来按照page 上的“手动安装部分”进行 php 驱动程序安装,一切正常。如页面所述,从 github 获取 php 驱动程序。
后来我将文件 mongo.so 从我的虚拟机上运行的 php 文件扩展目录复制到我的父操作系统,现在一切正常!
【讨论】:
以上是关于在 Ubuntu ( Linux ) 上使用 Lamp 安装 Mongodb的主要内容,如果未能解决你的问题,请参考以下文章