【问题标题】:Mongodb running with node and PHP使用节点和 PHP 运行的 Mongodb
【发布时间】:2012-10-25 12:23:29
【问题描述】:

我是 Node.js 和 MongoDB 的新手。我已经成功地让 mongoDB 与 node.js 一起运行,并且能够启动它并将数据存储在集合中。所以服务器已经在 localhost:27017 上运行,并且在访问 localhost:28017 时工作。

现在我已经在 Node 中运行和工作了,我想在运行在 Ubuntu 上的 Xampp 服务器上使用 PHP 测试 MongoDB,但我无法让 phpinfo() 说它正在使用 mongo。
我已按照here 的步骤配置和安装驱动程序。我已将 mongo.so 文件移动到我的 xampps 扩展中,并在 php.ini 中添加了适当的行 + 重新启动。但是 phpinfo() 还是没有显示出来。

我想我对将 mongo-php-driver 文件夹放在哪里感到困惑?这是否也安装到 Xampp 服务器中,如果是,我将它放在哪里?

它已经在使用 node.js 运行和工作,所以只是对为什么它不能正常工作或无法连接感到困惑。

另外,当我使用它时,是否可以让 php 和 node.js 使用在端口 27017 上运行的同一个 mongoDB 服务器?

编辑: 在我将 extension_dir 编辑到正确的路径后,我能够让服务器至少给我一条关于该文件的错误消息

extension_lib = "/opt/lampp/lib/php/extensions/no-debug-zts-20090626"

我现在收到此错误

Warning: PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/mongo.so'  - /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/mongo.so: wrong ELF class: ELFCLASS64 in Unknown on line 0

我想我需要更改 php.ini 选项以使其正确加载。但似乎我编译了错误的 mongo.so 构建。我再试一次。

谢谢

【问题讨论】:

    标签: php node.js mongodb xampp


    【解决方案1】:

    据此: http://montenasoft.com/en/blog/how-install-pecl-php-extension-64bit-linux-while-you-are-using-32bit-xampp

    因为xampp是用32位编译的,但是你编译的mongo驱动是64位的。 你可能需要用这些来编译你的 mongo 驱动:

    phpize
    CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure
    make
    sudo make install
    

    或者只是单独安装apache2、mysql、php。我认为这是一个更好的选择。

    【讨论】:

      猜你喜欢
      • 2019-06-22
      • 1970-01-01
      • 2021-11-18
      • 2015-09-21
      • 2021-10-14
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多