Подтвердить что ты не робот

Монгод и Мамп

Я использую MAMP и хотел бы использовать mongo с PHP. Я застрял, потому что версия MAMP, которую я использую, - это последняя версия, которую я могу найти, и она работает с PHP 5.2.11. Единственная установка Mongo PHP, которую я могу найти для OSX для PHP 5.3.

Есть ли способ заставить mongo работать с PHP с помощью MAMP?

4b9b3361

Ответ 1

Для MAMP 2.1.2 и PHP 5.4.10

  • Загрузить драйвер MongoDB php.

  • скопировать mongo.so в

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

    и используя 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
    
  • открыть

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

    Найти ; Extensions

    добавить extension=mongo.so

  • Перезапустите MAMP.


Вышеуказанные шаги установят драйвер MongoDB 1.2.10.

Чтобы установить последний драйвер Mongodb с помощью PECL

  • установить autoconf с помощью домашних или Mac-портов

    brew install autoconf
    
  • Загрузите php 5.4.10 из php.net.

  • переименуйте несжатую исходную папку php с php-5.4.10 на php и вставьте ее в эту папку

    /Applications/MAMP/bin/php/php5.4.10/include/
    
  • используя открытую папку php для терминала и запустите ./configure

    cd /Applications/MAMP/bin/php/php5.4.10/include/php/ && ./configure
    
  • Добавьте MAMP bin в ~/.bash_profile

    echo "export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH" >> ~/.bash_profile 
    source ~/.bash_profile
    
  • установить последний mongo

    pecl install mongo
    
  • перезапустить сервер MAMP:).

Ответ 2

Вот учебник, как это сделать: http://www.davidgolding.net/mongodb/installing-mongodb-on-mamp-1-9-5.html

Сообщение было удалено, поэтому здесь учебник:

Сегодня в Appolute запущена версия MAMP версии 1.9.5, поэтому я подумал, что пришло время добавить MongoDB к ней и улучшить мои навыки NoSQL.

  • Подготовить MAMP для файлов MongoDB

Создайте новую папку в приложениях /MAMP/db/mongo с тремя дополнительными подпапками с именем bin, data и tmp. Предоставьте этим папкам разрешения доступа chmod 0755. Эти папки будут основным местом выполнения для Mongo, когда MAMP запускает его.

  • Загрузить MongoDB

Захватите последний установочный пакет Mac OS от MongoDB. Моя настройка сервера вызвала 64-разрядную версию OS X, версию 1.6.5. У Itll есть каталог с именем bin. Выгрузите файлы из этой папки в папку /Applications/MAMP/db/mongo/bin, которую вы уже создали.

  • Скачать Mongo Driver для PHP

Im работает PHP 5.3 (зачем использовать MongoDB с любой более ранней версией PHP?), поэтому мне нужно расширение mongo.so, чтобы PHP и Mongo работали вместе. Это доступно в репозитории MongoDB GitHub, в двоичном формате PHP 5.3 для Mac. После распаковки загруженного файла поместите файл расширения mongo.so в папку /Applications/MAMP/bin/php 5.3/lib/php/extensions.

Обновление. Альтернативой является размещение файла mongo.so в папке /Applications/MAMP/bin/php 5.3/lib/php/extensions/no-debug-non-zts-20090626 и избежать необходимости редактировать Файл php.ini. Похоже, что MAMP 1.9.5 уже имеет расширение extension = mongo.so в блоке расширений файла php.ini, хотя версия 1.9.5 не поставляется в комплекте с Mongo. 4. Создайте процедуры запуска для MAMP

Наконец, вам нужно создать подпрограммы запуска, чтобы MAMP запустил Mongo вместе с MySQL и Apache. Создайте новый файл в /Applications/MAMP/bin/startMongo.sh и поместите в него следующий код:

# /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

При вызове этот script запустит Mongo, используя относительные пути MAMP, а не по умолчанию для систем Mongos.

Создайте еще один файл в /Applications/MAMP/bin/stopMongo.sh и поместите метод выключения:

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

Это работает как предыдущий script, за исключением того, что он убивает процесс mongo.pid, фактически закрывая Mongo.

Чтобы MAMP автоматически вызывал эти сценарии запуска Mongo, откройте файлы /Applications/MAMP/bin/start.sh и/Applications/MAMP/bin/stop.sh и вставьте следующие строки над строками startMysql.sh, соответственно:

1 /Applications/MAMP/bin/startMongo.sh

1 /Applications/MAMP/bin/stopMongo.sh

Теперь MAMP автоматически запускает Mongo при запуске.

Осталось только сказать PHP, чтобы запустить расширение mongo.so. Если вы используете MAMP Pro, отредактируйте файл php.ini, выбрав "Файл" > "Редактировать шаблон" > PHP 5.3 php.ini, иначе вам нужно будет найти путь к файлу php.ini с экрана запуска MAMP в разделе "phpInfo" и "Loaded Файл конфигурации."

Вставьте следующую строку в файл/шаблон php.ini, сохраните файл, затем перезапустите MAMP.

1 расширение = "/Applications/MAMP/бен/php5.3/Library/PHP/расширения/mongo.so"

Теперь Mongo должен работать в фоновом режиме на MAMP, с которым вы можете установить соединение с PHP, используя основные процедуры подключения, перечисленные на сайте PHP. Добро пожаловать в NoSQL на MAMP!

Ответ 3

Mac OS X 10.6 Snow Leopard (с новейшими обновлениями) имеет PHP 5.3, установленный вместе с Apache.

Вы можете включить установленный Apache в Системные настройки, общий доступ, общий доступ к сети (есть значок справки (?), который показывает детали использования веб-сервера системы).

См. также этот вопрос StackOverflow:
Самый простой способ активировать PHP и MySQL на Mac OS 10.6 (Snow Leopard)?

Ответ 4

MAMP теперь находится в версии 2.2, которая поставляется с PHP v 5.5.3. Мне удалось заставить монгодскую рабочую команду прыгать через несколько обручей, чтобы добраться туда.

Начните с чистой установки 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. Теперь мы можем создать script для запуска/остановки 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, который также является болью. Для этого я добавил каталог MAMP bin в переменную 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/php 5.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/php 5.5.3/conf/php.ini в текстовом редакторе в разделе "Расширения", добавьте

extension=mongo.so

Закройте и снова откройте MAMP!

Ответ 5

Вот как я это сделал, и это было довольно просто.

Сначала прочитайте, что говорит Mongo @http://www.mongodb.org/display/DOCS/PHP+Language+Center

Когда вы запустите sudo pecl install mongo, он собирается установить его для стандартной установки OSX PHP, поэтому, если по какой-то причине вы используете встроенную установку Apache.

Как и вы, мне нравится использовать MAMP. Я не хотел разбираться, как загрузить Mongo в MAMP, поэтому я просто создаю символическую ссылку в папке MAMP PHP Extensions и помещаю линию расширения в MAMP php.ini. Перезапущенный MAMP Apache и все работало красиво!

Несколько вещей, которые следует отметить, после установки Mongo, обратите внимание на папку с расширениями, в которую она была установлена, и затем проверьте MAMP php.ini, чтобы узнать, где у нее установлены свои расширения. Вы заметите, что окончание очень похоже.

Ответ 6

Для MAMP PRO 2.0.5

Вы можете скомпилировать свой собственный mongo.so(http://m-schmidt.eu/2011/11/06/develop-mongodb-web-apps-with-mamp-under-mac-os-x/) или загрузить скомпилированный (http://www.davidgolding.net/mongodb/installing-mongodb-on-mamp-1-9-5.html). Я хотел бы скомпилировать.

После шагов mongo.so не включаются в конфигурацию php, потому что в MAMP PRO php.ini помещается в

/Приложения/MAMP PRO/MAMP PRO.app/Contents/Resources

Я использую файл php5.3.6.ini для моей конфигурации.