Schwerwiegender Fehler - 'Mongo' Klasse nicht gefunden
Ich versuche dies auszuführen:
<?php
//connect
$m = new Mongo();
?>
Aber ich bekomme die folgende Fehlermeldung:
Fatal error: Class 'Mongo' not found in C:\wamp\www.....
Info:
- PHP: 5.38
- MongoDB: mongodb-win32-i386-2.0.2
- MongoDB PHP-Treiber: mongo-1.1.4-php5.3vc6ts
- WampServer: 2.2
- OS: Windows 7 Enterprise SP1
Habe ich folgte dem MongoDB-installation in Ordnung (inkl. hinzufügen der DLL zu ext & php.ini), die ich angefangen habe mongod.exe und WAMP läuft.
Was bedeutet dies fehlt/falsch ist?
Edit:
Habe ich es auf einem anderen Windows 7 Rechner (Windows 7 Profressional). Das hat mich neugierig gemacht. So nun ist mein Windows 7 Enterprise SP1 Maschine hat die gleiche http.conf
, php.ini
, C:\wamp\bin\mongodb
Inhalt (also DBs sind exakt die gleichen) und die genau die gleiche batch-Datei zu starten mongod.exe
als mein Win7 Professional Maschine.
Aber immer noch, alles was ich tun kann auf meinem Win7 Enterprise SP1 Maschine ist eine Verbindung über die Kommandozeile. Mein Win7 Professional Maschine phpinfo()
enthält:
Mein Win7 Enterprise SP1 Maschine enthalten keine Referenz zu MongoDB.
Den Inhalt der batch-Datei die ich zum starten der MongoDB:
"C:\wamp\bin\mongodb\bin\mongod.exe" --logpath "C:\wamp\bin\mongodb\logs\error.log" --logappend --dbpath "C:\wamp\bin\mongodb\data\db" --directoryperdb --service
Net Start "MongoDB"
pause
- hast du den apache neu starten? prüfen Sie auch, ob Sie korrekt bearbeitet
php.ini
(angegeben durchphpinfo()
als geladen` - Ja habe ich neu gestartet und ja ich bearbeitet habe, die richtige
php.ini
nachphpinfo()
- Nur um zu überprüfen: www php.ini ist in
C:\wamp\bin\apache\apache2.x.y\bin
. Für php-CLI.ini ist beiC:\wamp\bin\php\php5.3.8
phpinfo()
sagt derphp.ini
, das geladen wird, beiC:\wamp\bin\apache\Apache2.2.21\bin\php.ini
- und das ist die, die ich Hinzugefügt habeextension=php_mongo.dll
zu.- Das sollte in Ordnung sein. Ich bin mir nicht sicher, was anderes zu sehen.
- Haben Sie jemals bekommen, um diese arbeiten, die Adam?
- Nein noch nicht. Könnten versuchen, die Installation von PHP, MySql & Apache getrennt. Aber ich weiß nicht wirklich wollen. Wenn ich könnte nur
require()
im Mongo php-Datei benötigt, würd ich es lieber - und alle anderen: ich habe ein bisschen mehr auf die Frage, wie Fehler zurückgegeben
mongod.exe
von der Befehlszeile aus. Überprüfen Sie es heraus. Offenbardata\db
existiert nicht, aber es funktioniert - stellen Sie sicher, dass es auf c: als in c:\data\db\, auch können Sie Ihre eigenen Pfad angeben per --dbpath
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem war die PHP-Treiber (
php_mongo.dll
). Apache/xampp nur nicht, wie dasmongo-1.1.4-php5.3vc6ts
version aus irgendeinem Grund. Mein Windows 7 Professional Maschine hatte diemongo-1.2.5-php5.3vc9ts
version. Das war der einzige Unterschied zwischen den beiden Maschinen.Ursprünglich hatte ich schon mit der
mongo-1.2.5-php5.3vc9ts
version des Treibers auf der Windows 7 Enterprise-Maschine, aber geändert, um diemongo-1.1.4-php5.3vc6ts
version, wenn ich war, das problem zu beheben. Also das ursprüngliche problem könnte eigentlich nur sein, dass die Datenbank Wegdata\db
nicht vorhanden ist/nicht gefunden werden konnte (und musste angegeben werden, indem--dbpath
beim ausführen/startenmongod.exe
).php_mongo.dll
und nichtphp_mongodb.dll
. 2 Pakete vorhanden sind, die in PECL-Bibliothek. Auch vc6 und vc9 erfordern eine korrekte C++ Redistributable-Bibliothek installiert ist. Version x86 oder x64 hängt von der kompilierte version von ApacheWenn dieses problem existieren in der php-CLI sollten Sie
extension=mongo.so
zu Ihrem/etc/php5/cli/php.ini
DateiCheck-out die genaue compiler-Namen Ihres PHP-binary in der phpinfo-Seite und installieren Sie die mongo-Treiber gebaut wurde, auf dem gleichen compiler.
http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows
Bist du mit dem mongo Treiber wurde vielfach auf Visual Studio 6 mit Thread-safe ist, jetzt. ( vs6ts bedeutet es )
Ähnliches problem wurde verursacht durch compiler-Problem;
http://www.php.net/manual/en/mongo.installation.php#104223
Unter Ubuntu, die ich verwendet,dieses tutorial . Einmal installiert, echo phpinfo() und überprüfe, ob der mongo.ini-Datei befindet sich im richtigen Verzeichnis erwähnt in der phpinfo mit " Scan this dir for additional .ini-Dateien'