0

Node.js と MongoDB は初めてです。node.js を使用して mongoDB を実行することに成功し、mongoDB を起動してコレクション内にデータを保存することができました。したがって、サーバーは既に localhost:27017 で実行されており、 localhost:28017 にアクセスすると機能します。

Node内で実行して動作するようになったので、Ubuntuで実行されているXamppサーバーでPHPを使用してMongoDBをテストしたかったのですが、まだmongoを使用していると言うphpinfo()を取得できません。こちら
の手順に従って、ドライバーを構成およびインストールしました。mongo.so ファイルを xampps 拡張機能に移動し、php.ini に適切な行を追加して再起動しました。しかし phpinfo() はまだそれを示していません。

mongo-php-driver フォルダーをどこに置くかという点で混乱していると思いますか? これはXamppサーバーにもインストールされていますか?もしそうなら、どこに置きますか?

それはすでに実行され、 node.js を使用して動作しているため、正しく動作していない、または接続されていない理由が混乱していました。

また、ポート 27017 で実行されている同じ mongoDB サーバーを php と node.js で使用することは可能ですか?

編集: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ビルドをコンパイルしたようです。もう一度やり直します。

ありがとう

4

1 に答える 1

0

これによると: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を個別にインストールします。これはより良い選択肢だと思います。

于 2012-10-25T04:23:29.997 に答える