MAMP теперь в версии 2.2, которая поставляется с PHP v 5.5.3.Мне удалось заставить Mongodb работать, пришлось прыгнуть через несколько обручей, чтобы добраться туда.
Начните с чистой установки MAMP 2.2, убедитесь, что она работает.
1. Я сделал это системной версией PHP (не уверен, если это необходимо на данном этапе).
Найдите версию php по умолчанию, которую вы используете, с помощью команды терминала
$ which php
/usr/bin/php
Затем сделайте резервную копию
$ sudo mv /usr/bin/php /usr/bin/php.bak
Затем создайте символическую ссылку на последнюю версию MAMP php
$ sudo ln -s /Applications/MAMP/bin/php/php5.5.3/bin/php /usr/bin/php
Проверьте, что это было обновлено
$ which php
/Applications/MAMP/bin/php/php5.5.3/bin/php
2. Установка 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
Тест, чтобы убедиться, что mongo работает
$ ./mongo/bin/mongod --dbpath /Applications/MAMP/db/mongo/data/db
Должен вывести некоторый код, заканчивающийся 'waiting for connections on port 27017'
, нажмите Ctrl + C
, чтобы выйти сейчас.
3. Теперь мы можем создать скрипт для автоматического запуска / остановки mongod из графического интерфейса MAMP.Это вдохновение пришло из предыдущего ответа Александра Рада, но он не совсем сработал, как он объяснил - я думаю, что это связано с тем, чтобы быть более новой версией MAMP.
В /Applications/MAMP/bin
создайте файл с именем startMongo.sh
и вставьте следующее
# /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
Я также создал папку mongo tmp в /Applications/MAMP/tmp/mongo
В том же каталоге bin создайте файл с именем stopMongo.sh
и вставьте следующее:
# /bin/sh
/bin/kill `cat /Applications/MAMP/tmp/mongo/mongo.pid`
Сделайте эти файлы исполняемыми
$ chmod 775 /Applications/MAMP/bin/startMongo.sh /Applications/MAMP/bin/stopMongo.sh
Теперь обновите сценарии startApache.sh
и stopApache.sh
, чтобы они включали наши новые файлы соответственно.
Используйте Монитор активности в/ Приложения / Утилиты и поиск mongod
.Когда вы сейчас запустите MAMP, вы увидите, что процесс mongod
запущен.Когда вы останавливаете или выходите из MAMP, вы должны видеть, что этот процесс автоматически убивается.
4. Нам все еще нужно установить драйвер mongo-php, что также является проблемой.Для этого я добавил каталог bin MAMP в мою переменную bash $ PATH.Для этого мне пришлось отредактировать скрытый файл ~/.profile
- но помните, что ваш $ PATH может быть загружен откуда-то еще.
export PATH=$PATH:/Applications/MAMP/bin/php/php5.5.3/bin:/Applications/MAMP/db/mongo/bin
Обратите внимание, что каждый элемент отделен :
.Выйдите из терминала и снова откройте, затем $ echo $PATH
, чтобы проверить, что ваши новые каталоги были добавлены в путь.Вы также можете попробовать $ which pecl
или $ which mongod
.
Нам все еще нужны некоторые дополнения из PHP php.net скачать ту же самую стабильную версию php и распаковать ее.Создайте папку «include» в /Applications/MAMP/bin/php/php5.5.3/include.Перетащите разархивированную стабильную версию php в папку include и переименуйте ее в «php».
$ cd /Applications/MAMP/bin/php/php5.5.3/include/php
$ ./configure
Теперь, наконец, мы можем запустить
$ sudo pecl install mongo
5. Теперь нам просто нужно обновить наш конфигурационный файл php, чтобы добавить mongo.soрасширение.Откройте /Applications/MAMP/bin/php/php5.5.3/conf/php.ini в текстовом редакторе, в разделе «расширения» добавьте
extension=mongo.so
Выйдите и снова откройте MAMP!