Intereting Posts
Как добавить путь к логотипу моей компании в Codeigniter? Сортировка Foreach Loop после ID Symfony. Почему моя форма получает каждый ответ, который существует в таблице? window.onbeforeunload не должно работать при обновлении страницы нажатием кнопки Использование сеансов и переменных сеанса в скрипте входа PHP Отправка электронной почты от PHPMailer с использованием IP-адресов прокси Как установить активный лист без загрузки файла xlsx? Yii2: Использование виджета Kartik Depdrop? Как искать массив для нескольких значений в PHP? Сделать анонимный звонок с помощью PHP SDK Когда вы автоматически создаете субдомены при регистрации пользователей, это создает новый веб-сайт или дает внешний вид веб-сайта? Функциональность php DateTime createFromFormat Не удается подключиться к базе данных с 000webhost Свойство Doctrine ReflectionException не существует генерировать список дат между двумя датами и списком сохранения в базе данных

Монгод и Мамп

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

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

Для MAMP 2.1.2 и PHP 5.4.10

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

  2. скопируйте mongo.so в

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

    и используя

     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. открытый

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

    Найти ; Extensions ; Extensions

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

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


На вышеуказанных шагах будет установлен драйвер MongoDB 1.2.10.

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

  1. установить autoconf с помощью homebrew или Mac Ports

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

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

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

     cd /Applications/MAMP/bin/php/php5.4.10/include/php/ && ./configure 
  5. Добавьте MAMP bin в ваш файл ~/.bash_profile

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

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

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

Сообщение было удалено, так вот учебник:

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

  1. Подготовьте MAMP для файлов MongoDB

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

  1. Загрузить MongoDB

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

  1. Загрузить Mongo Driver для PHP

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

Обновление. Альтернативой является размещение файла mongo.so в папке /Applications/MAMP/bin/php5.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 

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

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

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

Это работает как предыдущий скрипт, за исключением того, что он убивает процесс 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 »И« Загруженный файл конфигурации ».

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

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

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

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

Вы можете включить установленный Apache в System Preferences, Sharing, Web Sharing (есть значок справки ( ? ), Который показывает вам информацию об использовании веб-сервера системы).

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

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. Установка Монго

 $ 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/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 поиск 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 stable и распакуйте ее. Создайте папку «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!

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

Сначала прочитайте, что говорит 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, чтобы узнать, где у нее установлены свои расширения. Вы заметите, что окончание очень похоже.

Для 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 для моей конфигурации.