7

私は現在xampp for PHPを使用しています。*mongo_db(1.8.5)* をシステムにインストールし、システムにxampp-1.8.1-VC9もインストールしました。PHP をmongoDB用に構成するために、*php_mongo.dll* をダウンロードし ( と の両方VC9 thread safeを試しました)、. dllファイルを'../php/ext'non-thread safeディレクトリに貼り付け、 php.iniファイルにも追加しました。extension=php_mongo.dll

xamppでApacheを起動しようとすると、Apacheが起動しているにもかかわらず、次のように表示されます。

PHP startup mongo: Unable to initialize module
Module compiled with module API : 20090626
PHP compiled with module API : 20100525
These options need to match.

また、Mongoに接続するための.phpコードが機能しません。これは、どこかで何かが間違っていることを意味します。

私が間違っているところ。どんな助けでも大歓迎です。

4

1 に答える 1

16

PHP 5.3 用にコンパイルされた拡張機能を PHP 5.4 でインストールしようとしているようです。モジュール API のバージョンは、PHP のバージョンと一致する必要があります。

コンパイル済みの MongoDB PHP ドライバーを Github からダウンロードすると(php_mongo-1.2.12.zip現在の安定バージョンなど)、複数の PHP バージョン (5.2、5.3、5.4 など) 用の DLL が含まれています。システムに適した DLL をコピーし、名前を php_mongo.dll に変更する必要があります。

必要なバージョンは、phpinfo()システムの出力 (またはphp -iコマンド ライン) から判断できます。「Zend Extension Build」の値を確認してください。

例えば:

Zend Extension Build => API220100525,NTS,VC9

.. NTS (非スレッドセーフ) DLL を使用する必要があることを示します。

64 ビット Windows では、PHP 拡張ディレクトリにコピーphp_mongo-1.2.12-5.4-vc9-nts-x86_64.dllすることを意味します。php_mongo.dll

于 2012-11-23T05:06:53.520 に答える