首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb和MAMP

Mongodb和MAMP
EN

Stack Overflow用户
提问于 2010-09-23 02:43:14
回答 6查看 21.2K关注 0票数 17

我正在使用MAMP,并希望与PHP一起使用mongo。我被卡住了,因为我使用的MAMP版本是我能找到的最新版本,而且它运行的是PHP 5.2.11。我能找到的唯一针对OSX的Mongo PHP安装是针对PHP5.3。

有没有办法使用MAMP让mongo与PHP协同工作?

EN

回答 6

Stack Overflow用户

发布于 2013-03-21 02:05:46

对于MAMP 2.1.2PHP5.4.10

  1. Download MongoDB php driver .
  2. copy mongo.so to

/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

  • open

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

查找; Extensions

添加extension=mongo.so

  • Restart MAMP.

以上步骤将安装MongoDB驱动程序1.2.10。

使用PECL安装最新Mongodb驱动程序的

  1. 使用自制软件或Mac端口安装autoconf

brew将autoconf

  • Download php 5.4.10源代码从php.net.

  • rename解压缩的php源文件夹从php-5.4.10安装到php,并将其粘贴到此文件夹中

打开/Applications/MAMP/bin/php/php5.4.10/include/

  • using文件夹,运行./configure

cd /Applications/MAMP/bin/php/php5.4.10/include/php/ && ./configure

  • Add MAMP bin到您的~/.bash_profile

echo“导出PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH”配置文件~/.bash_ >>源文件最新mongo

安装mongo

  • restart MAMP服务器:)。pecl
票数 30
EN

Stack Overflow用户

发布于 2012-04-02 20:52:36

这里有一个如何做到这一点的教程:http://www.davidgolding.net/mongodb/installing-mongodb-on-mamp-1-9-5.html

帖子被删除了,所以这里是教程:

NoSQL今天发布了MAMP1.9.5版本,所以我认为这是一个很好的时机来添加MongoDB和提高我的Appsolute技能。

  1. 为MongoDB文件准备MAMP

在Applications/MAMP/db/mongo下创建一个新文件夹,另外还有三个子文件夹,分别名为bin、data和tmp。为这些文件夹提供chmod 0755访问权限。一旦MAMP开始运行,这些文件夹将成为Mongo的主要运行时位置。

  1. Download MongoDB

获取MongoDB的最新Mac安装包。我的服务器设置要求使用OSX64位版本1.6.5。它将有一个名为bin的目录。将该文件夹中的文件放到您已经创建的/Applications/MAMP/db/mongo/bin文件夹中。

  1. 下载适用于

的Mongo驱动程序

我运行的是PHP5.3(为什么要在任何早期版本的PHP中使用MongoDB?),所以我需要使用mongo.so扩展来让PHP和Mongo协同工作。这可以在MongoDB GitHub存储库的PHP5.3 for Mac二进制文件下获得。解压下载的文件后,将/Applications/MAMP/bin/php5.3/lib/php/extensions文件夹中的mongo.so扩展文件放入其中。

更新:另一种方法是将mongo.so文件放在/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626文件夹中,从而避免编辑php.ini文件。似乎MAMP1.9.5在php.ini文件的扩展块中已经有了extension=mongo.so行,即使1.9.5版没有与Mongo捆绑在一起。4.为MAMP创建启动例程

最后,您需要创建启动例程,以便MAMP可以启动Mongo以及MySQL和Apache。在/Applications/MAMP/bin/startMongo.sh中创建一个新文件,并在其中放置以下代码:

代码语言:javascript
复制
# /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

当被调用时,此脚本将使用MAMP相对路径而不是Mongo的系统默认路径启动Mongo。

在/Applications/MAMP/bin/stopMongo.sh中创建另一个文件,并放置shutdown方法:

代码语言:javascript
复制
# /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,请通过选择文件>编辑模板>PHP5.3 php.ini来编辑php.ini文件,否则您将需要从MAMP启动屏幕的“phpInfo”和“加载的配置文件”下查找php.ini文件的路径。

在php.ini文件/模板中插入以下行,保存文件,然后重新启动MAMP。

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

Mongo现在应该在MAMP上的后台运行,您可以使用PHP站点上列出的主连接例程从PHP连接到MAMP。欢迎使用MAMP上的NoSQL!

票数 7
EN

Stack Overflow用户

发布于 2013-10-09 18:54:28

MAMP现在的版本是2.2,它随PHPV5.5.3一起提供。我设法让Mongodb正常工作,必须克服一些困难才能做到这一点。

从MamP2.2的全新安装开始,确保它可以正常工作。

PHP 1.php我把它设为系统版的,(不确定在这个阶段是否需要)。

使用终端命令查找您正在使用的php的默认版本

代码语言:javascript
复制
$ which php
/usr/bin/php

然后备份这个

代码语言:javascript
复制
$ sudo mv /usr/bin/php /usr/bin/php.bak

然后创建一个指向最新版本php的MAMP的符号链接

代码语言:javascript
复制
$ sudo ln -s /Applications/MAMP/bin/php/php5.5.3/bin/php /usr/bin/php

检查此文件是否已更新

代码语言:javascript
复制
$ which php
/Applications/MAMP/bin/php/php5.5.3/bin/php

2.安装Mongo

代码语言:javascript
复制
$ 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正常工作

代码语言:javascript
复制
$ ./mongo/bin/mongod --dbpath /Applications/MAMP/db/mongo/data/db

应该会输出一些代码,以'waiting for connections on port 27017'结尾,现在按Ctrl + C退出。

MamP3.现在我们可以创建一个脚本来从MAMP GUI自动启动/停止。这种灵感来自于Alexandru Rada之前的回答,但并没有完全按照他的解释工作-我认为这与MAMP的更新版本有关。

/Applications/MAMP/bin中,创建一个名为startMongo.sh的文件,并插入以下内容

代码语言:javascript
复制
# /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

我还在/Applications/MAMP/tmp/mongo上创建了mongo tmp文件夹

在同一个bin目录中,创建一个名为stopMongo.sh的文件,并插入以下内容:

代码语言:javascript
复制
# /bin/sh
/bin/kill `cat /Applications/MAMP/tmp/mongo/mongo.pid`

使这些文件成为可执行文件

代码语言:javascript
复制
$ chmod 775 /Applications/MAMP/bin/startMongo.sh /Applications/MAMP/bin/stopMongo.sh

现在更新startApache.shstopApache.sh脚本,分别包含我们的新文件。

使用/Applications/Utilities中的活动监视器并搜索mongod。现在启动MAMP时,应该会看到进程mongod已启动。当您停止或退出MAMP时,您应该会看到此进程被自动终止。

4.我们仍然需要安装mongo-php驱动程序,这也很痛苦。为此,我将MAMP bin目录添加到我的bash $PATH变量中。为此,我必须编辑隐藏文件~/.profile -但请注意,您的$PATH可能是从其他地方加载的。

代码语言:javascript
复制
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稳定版本并解压缩它。在/Applications/MAMP/bin/php/php5.5.3/include中创建文件夹'include‘。将解压后的稳定版php拖到include文件夹中,并将其重命名为'php‘。

代码语言:javascript
复制
$ cd /Applications/MAMP/bin/php/php5.5.3/include/php
$ ./configure

现在,我们终于可以运行

代码语言:javascript
复制
$ sudo pecl install mongo

5.现在我们只需要更新我们的php配置文件来添加mongo.so扩展。在文本编辑器中打开/Applications/MAMP/bin/php/php5.5.3/conf/php.ini,在“extensions”部分下添加

代码语言:javascript
复制
extension=mongo.so

退出并重新打开MAMP!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3772582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档