Mongodb 和 MAMP

2022-08-30 22:50:51

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

有没有办法让mongo使用MAMP使用PHP?


答案 1

适用于 MAMP 2.1.2PHP 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

    extension=mongo.so

  4. 重新启动 MAMP。


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

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

  1. 使用自制或 Mac 端口安装自动控制器

    brew install autoconf
    
  2. php.net 下载 php 5.4.10 源代码。

  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 箱添加到您的~/.bash_profile

    echo "export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH" >> ~/.bash_profile 
    source ~/.bash_profile
    
  6. 安装最新的 mongo

    pecl install mongo
    
  7. 重新启动 MAMP 服务器:)。


答案 2

以下是如何执行此操作的教程:http://www.davidgolding.net/mongodb/installing-mongodb-on-mamp-1-9-5.html

帖子已被删除,因此这是教程:

Appsolute今天发布了MAMP版本1.9.5,所以我认为现在是添加MongoDB并提高我的NoSQL技能的好时机。

  1. 为 MongoDB 文件准备 MAMP

在 Applications/MAMP/db/mongo 上创建一个新文件夹,其中包含三个名为 bin、data 和 tmp 的附加子文件夹。为这些文件夹提供 chmod 0755 访问权限。一旦 MAMP 运行,这些文件夹将成为 Mongo 的主要运行时位置。

  1. 下载 MongoDB

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

  1. 下载适用于 PHP 的 Mongo 驱动程序

我运行的是 PHP 5.3(为什么将 MongoDB 与任何早期版本的 PHP 一起使用?),所以我需要 mongo.so 扩展才能让 PHP 和 Mongo 一起工作。这可以在MongoDB GitHub存储库中找到,在PHP 5.3 for 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 似乎在 php.ini 文件的扩展块中已经有 extension=mongo.so 行,即使版本 1.9.5 没有与 Mongo 捆绑在一起。4. 为 MAMP 创建启动例程

最后,您需要创建启动例程,以便MAMP将Mongo与MySQL和Apache一起启动Mongo。在 /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 /应用程序/MAMP/bin/stopMongo.sh

现在MAMP将在启动时自动启动Mongo。

唯一要做的就是告诉PHP运行 mongo.so 扩展。如果您运行的是 MAMP Pro,请通过选择“文件>编辑模板> PHP 5.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 上的 NoSQL!


推荐