2012-11-23 23 views
7

私は現在xamppのPHPに使用しています。 * mongo_db(1.8.5)*を私のシステムにインストールしました。私のシステムにxampp-1.8.1-VC9もインストールしました。 MongoDBののためのPHPを設定するために、私は* php_mongo.dll *をダウンロード(VC9 thread safenon-thread safeの両方を試してみました)との.dllファイルを貼り付けている「../php/ext」ディレクトリをしてもextension=php_mongo.dllを追加しましたphp.iniファイルにあります。PHPのスタートアップmongo:モジュールを初期化できません

は今、私はそれが始めるさapacheの本家以下の表示を示しXAMPPapacheのを起動しようとします。

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

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

ここで私は間違っています。どんな助けもありがとう。

+0

あなたは正しいアプローチをしているようですが、間違ったDLLをコピーしています(下記の私の答えを見てください)。また、1.8.xは現在、2つの主要な制作リリースシリーズになっています(最新は2.2.xです)。開始する場合は、[多くの新機能](http://docs.mongodb.org/manual/release-notes/2.2/)があるので、2.2サーバーから始めてみる価値があります。 – Stennie

答えて

16

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

Githubからprecompiled MongoDB PHP driverをダウンロードした場合(たとえば、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にコピーされます。

+0

Thans @stennie。これは私が探しているものです。 – user1518659

+0

ありがとう、助けてもらった –

関連する問題