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/bin/mongod --dbpath=mongo/data

すべて正常に動作し、mongoVUE モニター ツールに接続できます。

ここまでは順調ですね。

ここで、PHP から BongoDB に接続しようとします。

php.ini( )に追加しましたnano /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

PS

私も試しextension=/home/max/mongo/bin/mongo.soましたが、それでも同じエラーが発生します。

私は何か見落としてますか?

phpinfo() からの追加情報

  • PHP バージョン => 5.3.16
  • MongoDB: mongodb-linux-i686-2.4.3
  • OS: 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を持っていますが、PHPの32ビットバージョンです(またはその逆)。

于 2013-05-26T19:28:25.460 に答える