Mongodb et MAMP

j'utilise MAMP et j'aimerais utiliser mongo avec PHP. Je suis bloqué parce que la version de MAMP que j'utilise est la dernière version que je peux trouver, et il exécute PHP 5.2.11. La seule installation Mongo PHP que je peux trouver pour OSX est pour PHP 5.3.

y a-t-il un moyen de faire travailler mongo avec PHP en utilisant MAMP?

17
demandé sur Evan 2010-09-22 22:43:13

6 réponses

MAMP 2.1.2 et PHP 5.4.10

  1. télécharger le pilote PHP MongoDB .

  2. copier mongo.donc

    /Applications/MAMP/bin/php/php5.4.10/lib/php/extensions/no-debug-non-zts-20100525/
    

    et en utilisant temrinal

    cd /Applications/MAMP/bin/php/php5.4.10/lib/php/extensions/no-debug-non-zts-20100525/ && wget https://github.com/downloads/stennie/mongo-php-driver/mongo.so
    
  3. ouvrir

    /Applications/MAMP/bin/php/php5.4.10/conf/php.ini
    

    Trouver ; Extensions

    ajouter extension=mongo.so

  4. redémarrage MAMP.


les étapes ci-dessus installeront le pilote MongoDB 1.2.10.

pour installer le dernier pilote Mongodb en utilisant PECL

  1. installer autoconf à l'aide de homebrew ou Mac Ports

    brew install autoconf
    
  2. télécharger php 5.4.10 source de php.net.

  3. renommer non compressé source php dossier de php-5.4.10 php et le coller dans ce dossier

    /Applications/MAMP/bin/php/php5.4.10/include/
    
  4. en utilisant le terminal ouvrir le dossier php et exécuter ./configure

    cd /Applications/MAMP/bin/php/php5.4.10/include/php/ && ./configure
    
  5. ajouter MAMP bin à votre ~/.bash_profile

    echo "export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH" >> ~/.bash_profile 
    source ~/.bash_profile
    
  6. installer la dernière mongo

    pecl install mongo
    
  7. redémarrer le serveur MAMP:).

29
répondu AbdullahDiaa 2017-11-23 06:10:19
http://www.davidgolding.net/mongodb/installing-mongodb-on-mamp-1-9-5.html

Post a été supprimé alors, voici le tutoriel:

Appsolute a lancé AUJOURD'hui la version 1.9.5 de MAMP, donc j'ai pensé que ce serait un bon moment pour y ajouter MongoDB et améliorer mes compétences NoSQL.

  1. Préparer MAMP pour MongoDB fichiers

créer un nouveau dossier à Applications/MAMP/db/mongo avec trois autres sous-dossiers nommés bin, data, et tmp. Fournir à ces dossiers des permissions d'accès chmod 0755. Ces dossiers seront l'emplacement principal de L'exécution pour Mongo une fois que MAMP l'exécutera.

  1. Download MongoDB

prenez le dernier Mac OS Installer paquet de MongoDB. La configuration de mon serveur appelait OS X 64-bit, version 1.6.5. Il y aura un répertoire appelé bin. Déposez les fichiers de ce dossier dans le dossier /Applications/MAMP/db/mongo/bin que vous avez déjà créé.

  1. télécharger le pilote Mongo pour PHP

J'exécute PHP 5.3 (pourquoi utiliser MongoDB avec une version antérieure de PHP?), donc je vais avoir besoin de les mongo.afin de extension à obtenir de PHP et de Mongo travailler ensemble. Ceci est disponible dans le dépôt MongoDB GitHub, sous PHP 5.3 pour le binaire Mac. Après avoir déballé le fichier téléchargé, placez le mongo.so extension file in the/Applications/MAMP/bin / php5.3/lib / php / extensions dossier.

Mise À Jour: Un l'alternative est de placer le mongo.alors, enregistrez dans le fichier / Applications/MAMP/bin / php5.3/lib/php/extensions / no-debug-non-zts-20090626fichier ini. Il semble que MAMP 1.9.5 a déjà l'extension = mongo.ainsi la ligne dans le bloc extensions du php.fichier ini, même si la version 1.9.5 n'est pas fournie avec Mongo. 4. Créer des Routines de démarrage pour MAMP

enfin, vous aurez besoin de créer les routines de démarrage pour que MAMP lance Mongo avec MySQL et Apache. Créer un nouveau fichier /Applications/MAMP/bin/startMongo.sh et mettez-y le code suivant:

# /bin/sh
/Applications/MAMP/db/mongo/bin/mongod --dbpath /Applications/MAMP/db/mongo/data --logpath /Applications/MAMP/db/mongo/mongodb.log --pidfilepath /Applications/MAMP/db/mongo/tmp/mongo.pid --fork --logappend

lorsqu'il est appelé, ce script lancera Mongo en utilisant les chemins relatifs MAMP plutôt que le système de Mongo par défaut.

Créer un autre fichier /Applications/MAMP/bin/stopMongo.sh et place de la méthode d'arrêt:

# /bin/sh
/bin/kill `cat /Applications/MAMP/db/mongo/tmp/mongo.pid`

Cela fonctionne comme le script précédent, sauf qu'il tue les mongo.processus pid, arrêt efficace Mongo.

pour que MAMP appelle automatiquement ces scripts de démarrage Mongo, ouvrez le /Applications/MAMP/bin/start.sh et /Applications/MAMP/bin/stop.sh et insérez les lignes suivantes au-dessus du startMysql.sh lignes, respectivement:

1 /Applications/MAMP/bin/startMongo.sh

1 /Applications/MAMP/bin/stopMongo.sh

la seule chose à faire est de dire à PHP d'exécuter le mongo.donc extension. Si vous utilisez MAMP Pro, éditez le php.fichier ini en sélectionnant Fichier > modifier le modèle > PHP 5.3 php.ini, sinon, vous aurez besoin de chercher le chemin du php.fichier ini de l'écran de démarrage du MAMP, sous "phpInfo" et " fichier de Configuration chargé."

Insérez la ligne suivante dans le php.fichier ini / template, enregistrer le fichier, puis redémarrer MAMP.

1 extension= " / Applications/MAMP/bin / php5.3 / lib/php/extensions / mongo.so"

Mongo devrait maintenant courir le fond sur MAMP, avec lequel vous pouvez vous connecter depuis PHP en utilisant les principales routines de connexion listées sur le site PHP. Bienvenue à NoSQL sur MAMP!

6
répondu Alexandru Rada 2013-07-09 17:23:08

Mac OS X 10.6 Snow Leopard (avec les dernières mises à jour) A PHP 5.3 installé avec Apache.

Vous pouvez activer L'Apache installé dans les préférences système, le partage, le partage Web (il y a une icône d'aide (?) qui vous montre les détails sur l'utilisation du serveur web du système).

Voir aussi ce StackOverflow question:

la façon la plus facile d'activer PHP et MySQL sur Mac OS 10.6 (Snow Leopard)?

3
répondu Archimedix 2017-05-23 12:00:17

MAMP est maintenant à la version 2.2, qui est livré avec PHP v 5.5.3. J'ai réussi à faire travailler Mongodb en sautant à travers quelques cerceaux pour y arriver.

commencez avec une installation propre de MAMP 2.2, assurez-vous que cela fonctionne.

1. j'en ai fait la version système de PHP, (pas sûr si nécessaire à ce stade).

Découvrez la version par défaut de php que vous utilisez, avec la commande terminal

$ which php
/usr/bin/php

Puis retour cette

$ sudo mv /usr/bin/php /usr/bin/php.bak

puis créer un lien symbolique vers la dernière version MAMP de php

$ sudo ln -s /Applications/MAMP/bin/php/php5.5.3/bin/php /usr/bin/php

Vérifier ce qui a été mis à jour

$ which php
/Applications/MAMP/bin/php/php5.5.3/bin/php

2. Installation De Mongo

$ cd /Applications/MAMP/db
$ curl http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.6.tgz > mongodb.tgz
$ tar -zxvf mongodb.tgz
$ rm mongodb.tgz
$ mv mongodb* mongo
$ mkdir mongo/data/db

Test pour s'assurer que mongo fonctionne

$ ./mongo/bin/mongod --dbpath /Applications/MAMP/db/mongo/data/db

devrait sortir un certain code, se terminant par 'waiting for connections on port 27017' appuyez sur Ctrl + C quitter pour le moment.

3. maintenant nous pouvons créer un script pour démarrer/arrêter mongod automatiquement à partir du MAMP GUI. Cette inspiration est venue d'une réponse précédente, par Alexandru Rada, mais n'a pas tout à fait fonctionné comment il a expliqué - je pense que c'est à voir avec le fait d'être une nouvelle version MAMP.

/Applications/MAMP/bin créer un fichier appelé startMongo.sh et insérer le

# /bin/sh
/Applications/MAMP/db/mongo/bin/mongod --dbpath /Applications/MAMP/db/mongo/data/db --logpath /Applications/MAMP/logs/mongodb.log --pidfilepath /Applications/MAMP/tmp/mongo/mongo.pid --fork --logappend

j'ai aussi créé le dossier tmp de mongo à /Applications/MAMP/tmp/mongo

dans le même répertoire bin créer un fichier appelé stopMongo.sh et insérer ce qui suit:

# /bin/sh
/bin/kill `cat /Applications/MAMP/tmp/mongo/mongo.pid`

faites ces fichiers exécutable

$ chmod 775 /Applications/MAMP/bin/startMongo.sh /Applications/MAMP/bin/stopMongo.sh

maintenant, mettez à jour le startApache.sh et stopApache.sh scripts pour inclure nos nouveaux fichiers, respectivement.

utilisez le moniteur D'activité dans / Applications / Utilities et recherchez mongod. Lorsque vous démarrez MAMP, vous devriez voir le processus mongod est commencé. Lorsque vous arrêtez ou quittez MAMP vous devriez voir ce processus est automatiquement tué.

4. Nous avons encore besoin d'installer le mongo-driver php, qui est aussi une douleur. Pour ce faire, je j'ai ajouté le répertoire MAMP bin à ma variable Bash $ PATH. Pour ce faire, j'ai dû modifier le fichier caché

export PATH=$PATH:/Applications/MAMP/bin/php/php5.5.3/bin:/Applications/MAMP/db/mongo/bin

Notez que chaque élément est séparé par un :. Quittez le terminal et ré-ouvrez, puis $ echo $PATH pour vérifier que vos nouveaux répertoires ont été ajoutés au chemin. Vous pouvez également essayer $ which pecl ou $ which mongod.

nous avons encore besoin de quelques extras de PHP php.net télécharger la même php version stable et décompressez-le. Créez le dossier 'include' at /Applications/MAMP/bin/php/php5.5.3 / include . Faites glisser la version stable décompressée de php dans le dossier include, et renommez-la simplement en 'php'.

$ cd /Applications/MAMP/bin/php/php5.5.3/include/php
$ ./configure

maintenant, nous pouvons enfin courir

$ sudo pecl install mongo

5. maintenant nous avons juste besoin de mettre à jour notre fichier de configuration php pour ajouter le mongo.donc extension. Open/Applications/MAMP/bin/php / php5.5.3 / conf / php.ini dans un éditeur de texte, sous les "extensions" l'article, ajouter

extension=mongo.so

quittez et rouvrez MAMP!

3
répondu Pete McFarlane 2013-10-09 10:54:27

Voici comment je l'ai fait et c'était assez simple.

tout d'abord, lisez ce que dit Mongo@ http://www.mongodb.org/display/DOCS/PHP+langue+Centre

quand vous courez sudo pecl install mongo il va l'Installer pour l'installation standard D'OSX PHP à utiliser, donc si pour une raison quelconque vous utilisez L'installation intégrée D'Apache.

comme vous, j'aime utiliser MAMP. Je ne voulais pas passer par la figuration comment télécharger Mongo dans MAMP, donc je crée juste un lien symbolique dans le dossier MAMP PHP Extensions et mettre la ligne d'extension dans le MAMP php.ini. MAMP Apache redémarré et tout a bien fonctionné!

quelques choses à noter, après avoir installé Mongo, notez les extensions du dossier dans lequel il l'a installé puis vérifiez MAMP php.ini pour voir où il a son jeu d'extensions. Vous remarquerez que la fin est très similaire.

2
répondu Hayden 2010-10-02 07:05:25

For MAMP PRO 2.0.5

vous pouvez compiler votre propre mongo.so (http://m-schmidt.eu/2011/11/06/develop-mongodb-web-apps-with-mamp-under-mac-os-x/) ou le téléchargement compilé (http://www.davidgolding.net/mongodb/installing-mongodb-on-mamp-1-9-5.html). Je voudrais compiler.

après steps mongo.alors n'incluez pas la configuration de php, parce que in MAMP PRO php.ini placé dans

/Applications/MAMP PRO/MAMP PRO.app / Contents / Resources

j'utilise php5.3.6.fichier ini pour ma configuration.

1
répondu Quazer 2012-03-18 15:09:34