Power up the engine X – mongoDB

Wie bereits erwähnt, habe ich mit dem Gedanken gespielt, mal eine andere Datenbank als MySQL auszuprobieren. Nach dem Lesen einiger Vergleiche und Artikel (Bsp.: hier oder hier) habe ich mich also für mongoDB entschieden. Es erscheint mir wegen der leichten Installation und Verwendung der einfachste Schritt Richtung NoSQL zu sein.

An dieser Stelle möchte ich unbedingt auf die Homepage von mongoDB verweisen, die wirklich alles bietet, was das Entwicklerherz begehrt! Sollte man Fragen haben oder Informationen suchen, dann sollte dies die erste Anlaufstelle sein.

Downloads

mongoDB
Drivers
Admin

Installation

Die Installation der nötigen Tools ist bei mongoDB unter Windows meistens durch einfaches Entpacken an beliebige Orte erledigt (eventuell ist aber auch ein Checkout mit git oder svn möglich/nötig).

Für PHP entpackt man den entsprechenden Treiber im ext Verzeichnis der PHP-Installation.

Konfiguration

Um mongoDB einfach nutzen zu können, habe ich das lib-Verzeichnis zu meinen PATH-Variablen hinzugefügt. Darin findet man unter anderem die mongo.exe (mongoDB Shell) und die mongod.exe, hinter der sich der eigentliche Server verbirgt.

Der Einfachheit halber passen wir die Batch-Dateien von hier an, die uns in einem Zug nginx, PHP und mongoDB starten bzw. stoppen.

  1. @ECHO OFF
  2. ECHO Starting PHP FastCGI...
  3. start "PHP" /b D:AlexProgrammePHPphp-cgi.exe -b 127.0.0.1:9000
  4. ECHO Starting nginx...
  5. start "NGINX" /b D:AlexProgrammenginxnginx.exe
  6. ECHO Starting mongoDB...
  7. start "MONGODB" /b D:AlexProgrammemongoDBbinmongod.exe -dbpath=D:AlexProgrammemongoDBdata

Wichtig ist, dass man einen Pfad definiert, wo mongoDB Daten ablegen kann. Tut man dies nicht, gibt es eine entsprechende Fehlermeldung.

  1. @ECHO OFF
  2. ECHO Stopping mongoDB...
  3. taskkill /F /IM mongod.exe
  4. ECHO Stopping nginx...
  5. taskkill /F /IM nginx.exe
  6. ECHO Stopping PHP FastCGI...
  7. taskkill /F /IM php-cgi.exe

Führt man nun nginx_start.bat aus, sollte im Kommandozeilenfenster ungefähr folgendes zu sehen sein:

nginx_start.bat

Man kann über die Shell mit dem mongoDB-Server kommunizieren – sofern alles korrekt eingerichtet wurde. Hierzu startet man in einem Kommandozeilenfenster mongo.exe.

mongoDB Test

Um nun mongoDB per PHP ansprechen zu können, muss noch die php_mongo.dll (die wir ja ins extension-Verzeichnis von PHP entpackt haben) in die php.ini eingetragen werden.

php.ini   
[mongoDB]
extension=php_mongo.dll

Sollte PHP bereits laufen, muss das natürlich neu gestartet werden. Danach kann man zum Beispiel mit dem phpMoAdmin checken, ob alles geklappt hat. Dazu einfach phpMoAdmin herunterladen, in den html-Ordner von nginx entpacken und im Browser aufrufen.

Auf php.net gibt es ein gutes Tutorial, welches die ersten Schritte mit mongoDB und PHP beschreibt.

Übrigens: Es gibt auch Doctrine für mongoDB!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.