【问题标题】:Installing Mongodb with Lamp On Ubuntu ( Linux )在 Ubuntu ( Linux ) 上使用 Lamp 安装 Mongodb
【发布时间】: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

有什么想法吗?

谢谢你

【问题讨论】:

    标签: php mongodb xampp lampp


    【解决方案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 文件扩展目录复制到我的父操作系统,现在一切正常!

    【讨论】:

      猜你喜欢
      • 2017-07-17
      • 2015-02-15
      • 2022-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-20
      • 2013-11-06
      相关资源
      最近更新 更多