2012-11-23 7 views
7

nicht initialisieren Ich verwende derzeit xampp für PHP. Ich installierte * mongo_db (1.8.5) * in meinem System und installierte auch xampp-1.8.1-VC9 in meinem System. Um habe ich heruntergeladen PHP für mongoDB, zu konfigurieren * php_mongo.dll * (versuchen beide VC9 thread safe und non-thread safe) und klebte die DLL Datei im ‚../php/ext‘ Verzeichnis hinzugefügt und auch extension=php_mongo.dll in der php.ini Datei.PHP Startmongo: Kann Modul

Jetzt, wenn ich versuche, den Apache in xampp zu starten es zeigt folgende Display eventhough Apache wird begonnen.

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

Auch mein .php Code Mongo verbinden funktioniert nicht. Das bedeutet, dass irgendwo etwas nicht stimmt.

Wo ich falsch liege. Jede Hilfe wäre willkommen.

+0

Es sieht so aus, als ob Sie den richtigen Ansatz haben, aber die falsche DLL kopieren (siehe meine Antwort unten). Beachten Sie auch, dass 1.8.x nun zwei Hauptserien der Produktionsserie hinter sich hat (zuletzt 2.2.x). Wenn Sie gerade erst anfangen, lohnt es sich, mit dem 2.2-Server zu beginnen, da es [viele neue Funktionen] gibt (http://docs.mongodb.org/manual/release-notes/2.2/). – Stennie

Antwort

16

Es scheint, als ob Sie versuchen, eine Erweiterung für PHP 5.3 mit PHP 5.4 kompiliert zu installieren; Die Modul-API-Version muss der Version von PHP entsprechen. Wenn Sie das precompiled MongoDB PHP driver von Github herunterladen (zB php_mongo-1.2.12.zip ist die aktuelle stabile Version), enthält es DLLs für mehrere PHP-Versionen (zB 5.2, 5.3 und 5.4). Sie müssen die richtige DLL für Ihr System kopieren und sie php_mongo.dll umbenennen.

Sie können die erforderliche Version vom phpinfo()-Ausgang Ihres Systems (oder php -i über eine Befehlszeile) bestimmen. Überprüfen Sie den Wert für "Zend Extension Build".

Zum Beispiel:

Zend Extension Build => API220100525,NTS,VC9 

.. würde zeigen Sie die NTS verwenden sollten (Non-Thread-DLL).

Unter 64-Bit-Windows würde das Kopieren von php_mongo-1.2.12-5.4-vc9-nts-x86_64.dll zu in Ihrem PHP-Erweiterungsverzeichnis bedeuten.

+0

Thans @stennie. Das ist was ich suche. – user1518659

+0

Danke, hat mir auch geholfen –