0

我打开包并安装mongoDB并得到:

[root@feeder /]# cd /home/max/mongodb-linux-i686-2.4.3/bin
[root@feeder bin]# ls -l
total 231700
-rwxr-xr-x 1 root root 17828204 Apr 23 00:01 bsondump
-rwxr-xr-x 1 root root  9181648 Apr 23 00:04 mongo
-rwxr-xr-x 1 root root 17882692 Apr 23 00:03 mongod
-rwxr-xr-x 1 root root 17885740 Apr 22 23:56 mongodump
-rwxr-xr-x 1 root root 17840780 Apr 22 23:57 mongoexport
-rwxr-xr-x 1 root root 17883768 Apr 23 00:00 mongofiles
-rwxr-xr-x 1 root root 17852780 Apr 22 23:58 mongoimport
-rwxr-xr-x 1 root root 17832300 Apr 23 00:00 mongooplog
-rwxr-xr-x 1 root root 17832876 Apr 23 00:02 mongoperf
-rwxr-xr-x 1 root root 17890796 Apr 22 23:56 mongorestore
-rwxr-xr-x 1 root root 13491532 Apr 23 00:03 mongos
-rwxr-xr-x 1 root root 17795196 Apr 23 00:02 mongosniff
-rwxr-xr-x 1 root root 17877452 Apr 22 23:58 mongostat
-rwxr-xr-x 1 root root 17832268 Apr 22 23:59 mongotop
  • 添加链接:mongo -> mongodb-linux-i686-2.4.3

  • 创建的data文件夹:mkdir /mongo/data

  • 启动mongo:mongo/bin/mongod --dbpath=mongo/data

一切正常,可以连接 mongoVUE 监控工具。

到目前为止,一切都很好。

现在,我尝试从 PHP 连接到 BongoDB:

我添加到php.ininano /etc/php.ini):extension=/home/max/mongo/bin/mongo

并重新启动httpd/etc/init.d/httpd restart

来自代码:

$conn = new Mongo('localhost');

我收到一个错误:

PHP 警告:PHP 启动:无法加载动态库 '/home/max/mongo/bin/mongo' - /home/max/mongo/bin/mongo:错误的 ELF 类:第 0 行未知中的 ELFCLASS32

附言

我也试过:extension=/home/max/mongo/bin/mongo.so但仍然得到同样的错误。

我错过了什么?

来自 phpinfo() 的附加信息

  • PHP 版本 => 5.3.16
  • MongoDB:mongodb-linux-i686-2.4.3
  • 操作系统:CentOS 5.2 版(最终版)

请帮忙

谢谢,

[编辑] 我有 PHP 64 位,据 Farkie 说,我安装了 bongoDB 64 位。仍然出现错误但没有“worng ELF”:

 php -i | grep mongo

PHP 警告:PHP 启动:无法加载动态库 '/home/max/mongo/bin/mongo' - /home/max/mongo/bin/mongo:无法在第 0 行的未知中动态加载可执行文件

我没看到mongo.so下面/usr/lib64/php/modules/

4

2 回答 2

2

您有一个 64 位的 mongo.so,但有一个 32 位版本的 PHP(或相反)。

于 2013-05-26T19:28:25.460 回答
0

这不是您为 Mongo 配置 PHP 的方式。阅读文档,您会发现必须构建一个特定的 PHP 扩展。

于 2013-05-27T06:37:24.637 回答