我正在使用MAMP,并希望与PHP一起使用mongo。我被卡住了,因为我使用的MAMP版本是我能找到的最新版本,而且它运行的是PHP 5.2.11。我能找到的唯一针对OSX的Mongo PHP安装是针对PHP5.3。
有没有办法使用MAMP让mongo与PHP协同工作?
发布于 2013-03-21 02:05:46
对于MAMP 2.1.2和PHP5.4.10
/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
以上步骤将安装MongoDB驱动程序1.2.10。
使用PECL安装最新Mongodb驱动程序的
brew将autoconf
打开/Applications/MAMP/bin/php/php5.4.10/include/
./configurecd /Applications/MAMP/bin/php/php5.4.10/include/php/ && ./configure
~/.bash_profileecho“导出PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH”配置文件~/.bash_ >>源文件最新mongo
安装mongo
发布于 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技能。
在Applications/MAMP/db/mongo下创建一个新文件夹,另外还有三个子文件夹,分别名为bin、data和tmp。为这些文件夹提供chmod 0755访问权限。一旦MAMP开始运行,这些文件夹将成为Mongo的主要运行时位置。
获取MongoDB的最新Mac安装包。我的服务器设置要求使用OSX64位版本1.6.5。它将有一个名为bin的目录。将该文件夹中的文件放到您已经创建的/Applications/MAMP/db/mongo/bin文件夹中。
的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中创建一个新文件,并在其中放置以下代码:
# /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方法:
# /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!
发布于 2013-10-09 18:54:28
MAMP现在的版本是2.2,它随PHPV5.5.3一起提供。我设法让Mongodb正常工作,必须克服一些困难才能做到这一点。
从MamP2.2的全新安装开始,确保它可以正常工作。
PHP 1.php我把它设为系统版的,(不确定在这个阶段是否需要)。
使用终端命令查找您正在使用的php的默认版本
$ which php
/usr/bin/php然后备份这个
$ sudo mv /usr/bin/php /usr/bin/php.bak然后创建一个指向最新版本php的MAMP的符号链接
$ 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/php2.安装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退出。
MamP3.现在我们可以创建一个脚本来从MAMP GUI自动启动/停止。这种灵感来自于Alexandru Rada之前的回答,但并没有完全按照他的解释工作-我认为这与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我还在/Applications/MAMP/tmp/mongo上创建了mongo tmp文件夹
在同一个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脚本,分别包含我们的新文件。
使用/Applications/Utilities中的活动监视器并搜索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稳定版本并解压缩它。在/Applications/MAMP/bin/php/php5.5.3/include中创建文件夹'include‘。将解压后的稳定版php拖到include文件夹中,并将其重命名为'php‘。
$ cd /Applications/MAMP/bin/php/php5.5.3/include/php
$ ./configure现在,我们终于可以运行
$ sudo pecl install mongo5.现在我们只需要更新我们的php配置文件来添加mongo.so扩展。在文本编辑器中打开/Applications/MAMP/bin/php/php5.5.3/conf/php.ini,在“extensions”部分下添加
extension=mongo.so退出并重新打开MAMP!
https://stackoverflow.com/questions/3772582
复制相似问题